🐳
Docker環境にMongoDBを構築する方法
ご覧いただきありがとうございます。Furuyaです。
今回は、Docker環境にMongoDBを構築する方法についてまとめます。
環境
PC:MacBook Pro 13-inch, 2020, Four Thunderbolt 3 ports
macOS:Sonoma 14.6.1
Shell: zsh
MongoDBのDockerコンテナ環境構築
1. ディレクトリ構成
まず、以下のようなディレクトリ構成で作業を進めます。
project-root/
├── .docker/
│ ├── Dockerfile
├── docker-compose.yml
├── check-network.sh
Dockerfile
は .docker/
ディレクトリ内に配置し、docker-compose.yml
や check-network.sh
は project-root/
直下に配置します。
2. Dockerfile の作成
まず、MongoDBの公式イメージを使用したDockerfile
を作成します。
# MongoDBの公式イメージを使用
FROM mongo:6
# 作業ディレクトリを設定
WORKDIR /data/db
# 環境変数を設定
ENV MONGO_INITDB_ROOT_USERNAME=admin
ENV MONGO_INITDB_ROOT_PASSWORD=password
# 必要に応じて起動スクリプトをコピー
# COPY init.js /docker-entrypoint-initdb.d/
# デフォルトのCMD
CMD ["mongod"]
docker-compose.yml
の作成
2. 次に、docker-compose.yml
を作成し、MongoDBのコンテナを管理します。
version: '3.8'
services:
mongodb:
build:
context: ../
dockerfile: .docker/Dockerfile
container_name: mongodb
restart: always
ports:
- '27017:27017'
volumes:
- type: volume
source: mongodb_data
target: /data/db
networks:
- app_network
volumes:
mongodb_data:
name: mongodb_data
driver: local
networks:
app_network:
driver: bridge
3. コンテナの起動
作成した docker-compose.yml
を用いて、MongoDBのコンテナを起動します。
docker-compose -f .docker/docker-compose.yml up -d
コンテナが正常に起動しているか確認するには、次のコマンドを実行します。
docker-compose -f .docker/docker-compose.yml ps
4. MongoDBに接続する
以下のコマンドを実行して、MongoDBのコンテナに接続できます。
docker-compose -f .docker/docker-compose.yml exec mongodb mongosh -u admin -p password --authenticationDatabase admin
以上で「Docker環境にMongoDBを構築する方法」は完了となります!
Discussion