本記事ではMongoDBをdocker-composeを使用して簡単に起動する方法を説明します。
Docker Desktopをインストール
下記URLからDockerデスクトップをインストールします。
Windows
Get started with Docker for Windows. This guide covers system requirements, where to download, and instructions on how to install and update.
docker-compose.ymlファイルの作成
docker-compose.ymlを配置するフォルダを作成し、
下記のようにdocker-compose.ymlを作成します。
docker-compose.yml
version: "3.7"
services:
mongo:
# MongoDB v7.0.4 イメージを使用
image: mongo:7.0.4
ports:
- 27017:27017
container_name: mongo
docker-compose(MongoDB)起動
docker-compose up
コマンドを実行し、MongoDBコンテナを起動します。
※バックグラウンドで実行する場合は-d
を追加して起動します。
> docker-compose up
[+] Running 10/10
✔ mongo 9 layers [⣿⣿⣿⣿⣿⣿⣿⣿⣿] 0B/0B Pulled 39.6s
✔ a48641193673 Pull complete 4.0s
✔ 52c95ac3bc2f Pull complete 0.7s
✔ 620f87c3c48a Pull complete 1.9s
✔ 09b92f0c88be Pull complete 1.8s
✔ 88798db2ec5d Pull complete 2.5s
✔ 85ecc6036ccd Pull complete 2.6s
✔ d050420b558e Pull complete 3.4s
✔ 406b5efbdb81 Pull complete 23.8s
✔ 30ab3122761f Pull complete 4.1s
[+] Running 2/2
✔ Network mongo_default Created 0.2s
✔ Container mongo-mongo-1 Created 1.3s
Attaching to mongo-1
mongo-1 | {"t":{"$date":"2023-12-18T04:04:37.997+00:00"},"s":"I", "c":"CONTROL", "id":23285, "ctx":"main","msg":"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"}
...
起動確認
コンテナ内に入りmongoshを使用できるか確認します。
まず、docker exec -it mongo /bin/sh
をホストOSで実行し、コンテナ内に入ります。
MongoShellを使用 mongosh
を実行できればOKです。
ホストOSにMongoShellがインストールされている場合も、mongosh
を実行することで同じように確認できます。
> docker exec -it mongo /bin/sh
# mongosh
Current Mongosh Log ID: 657fc791822266437e78dc45
Connecting to: mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.1.1
Using MongoDB: 7.0.4
Using Mongosh: 2.1.1
For mongosh info see: https://docs.mongodb.com/mongodb-shell/
------
The server generated these startup warnings when booting
2023-12-18T04:16:05.867+00:00: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem
2023-12-18T04:16:06.958+00:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
2023-12-18T04:16:06.958+00:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never'
2023-12-18T04:16:06.958+00:00: vm.max_map_count is too low
------
以上、システム開発の参考になれば幸いです。