🐳

Docker環境にMongoDBを構築する方法

2025/02/15に公開

ご覧いただきありがとうございます。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.ymlcheck-network.shproject-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"]

2. docker-compose.yml の作成

次に、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を構築する方法」は完了となります!

GitHubで編集を提案

Discussion