MongoDB 설치

MongoDB Docker 설치

MongoDB Docker 이미지 다운로드

아래 명령어를 실행하여 MongoDB Docker 이미지를 다운로드 한다. 태그에 버전을 지정하지 않으면 최신 버전을 다운로드 된다.

docker pull mongo

실행 결과는 아래와 같다.

% docker pull mongo
Using default tag: latest
latest: Pulling from library/mongo
ea362f368469: Pull complete
ecab26900ceb: Pull complete
1847fcb70562: Pull complete
a7de23811c0d: Pull complete
29dd51833fb9: Pull complete
5eccd2be8afb: Pull complete
cd8a8cd6879f: Pull complete
e6ca3abc397d: Pull complete
7481c3682d3c: Pull complete
af377cb9eb7d: Pull complete
Digest: sha256:6743836d42756b2ae50549b2eb4585c688fce81a243cedd152b56266c2fb3d17
Status: Downloaded newer image for mongo:latest
docker.io/library/mongo:latest

MongoDB 버전을 지정하려면 태그에 버전을 지정해야 한다. 다운로드할 수 있는 MongoDB 버전은 docker hub에서 확인할 수 있다.

다음 명령어로 다운로드 받은 Docker 이미지를 확인한다.

docker images

실행 결과는 아래와 같다.

% docker images
REPOSITORY                                      TAG            IMAGE ID       CREATED         SIZE
mongo                                           latest         ee13a1eacac9   2 days ago      696MB

MongoDB Docker 컨테이너 생성 및 실행

docker run --name my-mongodb -v ~/mongodb/db:/data/db -d -p 27017:27017 mongo

-v ~/mongodb/db:/data/db는 호스트(컨테이너를 구동하는 로컬 컴퓨터)의 ~/mongodb/db 디렉터리와 컨테이너의 /data/db 디렉터리를 마운트시킨다. 이렇게 볼륨을 설정하지 않으면, 컨테이너가 삭제하면서 저장된 데이터도 삭제되기 때문이다. 한번 삭제된 컨테이터 데이터는 복구할 수 없다.

% docker run --name my-mongodb -v ~/mongodb/db:/data/db -d -p 27017:27017 mongo
ade97bdb08fde4eaa72ceb0135b0a570d97b21616affb7949a0fc479fec25e0e

MongoDB Docker 컨테이너 시작/중지/재시작

MongoDB Docker 컨테이너 중지

docker stop my-mongodb

MongoDB Docker 컨테이너 시작

docker start my-mongodb

MongoDB Docker 컨테이너 재시작

docker restart my-mongodb

MongoDB Docker 컨테이너 실행 확인

다음 명령어를 실행한다.

% docker ps -a
CONTAINER ID   IMAGE                                                  COMMAND                  CREATED          STATUS                      PORTS                                       NAMES
ade97bdb08fd   mongo                                                  "docker-entrypoint.s…"   37 seconds ago   Up 36 seconds               0.0.0.0:27017->27017/tcp                    my-mongodb

MongoDB Docker 컨테이너 접속

다음 명령어를 실행한다.

docker exec -it my-mongodb bash

실행 결과는 아래와 같다.

% docker exec -it my-mongodb bash
root@ade97bdb08fd:/#