본문 바로가기

IT Tools/Database

[MongoDB/Docker] MongoDB Docker로 설치 및 세팅 하기

 

1. docker 에서 mongoDB 설치 및 실행시키기


다음 명령어를 실행시키면 된다.

$ docker run --name {container_name} \
-v {host_path}:/data/db \
-d -p {host_port}:{container_port}\
mongo --auth

예시)

$ docker run --name mongodb -v /data/mongo:/data/db -d -p 27017:27017 mongo --auth
Unable to find image 'mongo:latest' locally
latest: Pulling from library/mongo
25fa05cd42bd: Pull complete
3380d70bde1c: Pull complete
9c5e30e9886d: Pull complete
c6583381983d: Pull complete
7873a2834540: Pull complete
5550b05263ab: Pull complete
f8c53eb02c3e: Pull complete
36d83d0aa258: Pull complete
b6790a091c8a: Pull complete
8cc2814c4956: Pull complete
Digest: sha256:fe44eb6a2ea2bb15ebea507bddc413ab99ae
Status: Downloaded newer image for mongo:latest
05981af82586ee3

여기서 -v 는 volumn 설정을 뜻하는데 해당 옵션의 구조는

-v {host 파일 위치}:{container 내부 위치}

로 되어 있고
이는 해당 container 내부 위치에 있는 파일들이 host 파일 위치에 동기화되는 것을 말한다.
즉, 위에서 실행한 mongodb 에 저장된 db 값들이 해당 컨테이너가 종료 되어도 Host 컴퓨터에 계속 저장되어 있다.
다시 mongodb를 실행할 때, 해당 volumn 옵션을 똑같이 해주면 이전의 mongodb의 값을 그대로 복원할 수 있다.

 

-d 는 daemon 설정 (즉, background 에서 해당 컨테이너가 돌아가는 것)

-p 는 외부에서 해당 컨테이너로 접근할 수 있는 port 를 열어주는 것이다.

 

 

2. 컨테이너 접속 및 인증 설정

 

잘 운용중인지 확인

$ docker ps
CONTAINER ID        IMAGE      COMMAND                  CREATED             STATUS              PORTS                           NAMES
059812e68f8d        mongo      "docker-entrypoint.s…"   17 minutes ago      Up 17 minutes       0.0.0.0:27017->27017/tcp        mongodb

아래 명령어로  (컨테이너 이름인 mongodb 사용)  해당 컨테이너 접속

$ docker exec -it mongodb mongo
MongoDB shell version v4.4.6
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("064cf51a-e892-4eed-9a7e-6b93c36bc420") }
MongoDB server version: 4.4.6
>

 

반응형