Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- 인증과인가
- jpa김영한
- springController
- JPA
- Github
- jpa사용이유
- OAuth2.0
- json 받기
- spring security
- SpringTest
- 도메인 사용하기
- MultipartFile
- jpa양방향연관관계
- 단축키
- 인메모리
- java
- jpa주요기술소개
- SpringSecurity
- 인텔리제이
- issue
- S3
- 실전! 스프링 부트와 jpa 활용1
- 도메인
- 구글 소셜로그인
- jpa에대해서어떤걸공부할지
- 김영한
Archives
- Today
- Total
whdudev
[Docker]MongoDB를 도커 환경에 구축하고 초기 설정하기 본문
✅ 도커에서 DB 설정하기
도커는 기존에 설치 및 설정되어있음 ->
볼륨 설정 -> MognoDB 컨테이너 실행(다운,아이디 패스워드 설정) -> 몽고 쉘 실행해보기 -> 사용할 데이터베이스 선택
1.볼륨을 만들자!
docker는 개별적인 가상화 환경인 컨테이너에서 작업을 진행하기에 작업하는 모든 데이터는 컨테이너 내부에만 존재하게 되는데요.
-> 이때 컨테이너가 삭제되어도 작업한 데이터를 유지하고 싶을 것이다. 이때 사용한은게 볼륨
볼륨이란? : 볼륨은 한마디로 컨테이너 내부의 데이터를 외부로 링크를 걸어주는 기능이다.
docker volume create [생성할 볼륨 이름]
docker volume create mongodb-data 명령어로 생성
2.MongoDB 컨테이너 실행 (이미지 가져오기, 루트계정 아이디 비번 설정, 볼륨 연결)
- 최신 MongoDB 이미지를 사용해 컨테이너 실행
- 포트번호 연결 (Local 27017 -> 컨테이너 27017 연결)
- 루트 계정 설정 adadadadminID : adadadadmin12PW (가상번호임)
- mongodb-data라는 볼륨을 /data/db에 연결해서 데이터 영구 저장
docker run -d \
--name mongodb-container \
-p 27017:27017 \
-v mongodb-data:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=adadadadminID \
-e MONGO_INITDB_ROOT_PASSWORD=adadadadmin12PW \
mongo:latest
3.컨테이너 안에 들어가서 몽고 쉘(mongosh) 을 실행하기
docker exec -it mongodb-container mongosh -u adadadadminID -p adadadadmin12PW
4. 사용 DB 설정 및 확인
use auctifyDatabase
db

✅포트번호 연결이 필요한 이유
내 컴퓨터 안에 가상 컴퓨터(Docker 컨테이너)가 돌아간다고 생각해보자!
가상 컴퓨터 내에서 MognoDB 포트 번호는 존재하겠지만 우리 로컬에서는 연결할 방법이 없네 -> 포트번호 매핑
참고 : 모든 컨테이너는 격리돼 있어서 서로 간섭 없이 실행됨
현재 구성한 시스템에서 -p 27017:27017
- 왼쪽(호스트): 내 컴퓨터의 27017 포트
- 오른쪽(컨테이너): Docker 내부 MongoDB가 사용하는 27017 포트
스프링에서 연결할 경우
스프링 애플리케이션과 연결후에도 실행해보니 잘 동작한다 ㅎㅎ

'도커 쿠버네티스' 카테고리의 다른 글
| 실행중인 도커 컴포즈 종료 후 플로그인 추가 재실행 (0) | 2025.06.16 |
|---|---|
| [Docker]Redis를 도커 환경에 구축하고 초기 설정하기 (0) | 2025.05.16 |