MongoDB Docker インストール

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:/#