AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。

Docker を使用したローカル Atlas 配置の作成

このチュートリアルでは、Docker を使用してローカル Atlas 配置を作成する方法を説明します。このチュートリアルでは、Docker を使用して単一ノードのレプリカセットを配置する方法を説明します。完全で詳細な Docker Compose の例については、Docker Compose 例を参照してください。

必須:

  • Docker がローカルコンピューターにインストールされ、実行されていること。

  • コンピュータには、少なくとも 2 GB の空き RAM と 2 個の CPU コアがあります。

  • 使用するポート(デフォルト:27017)はlocalhostで利用できます。

推奨:

バーチャルプライベートクラウド(VPC)、ファイアウォール、プロキシの構成は必要ありません。配置はローカルネットワーク上で実行されます。

1

詳しくは、Docker のドキュメント を参照してください。

2

例:

docker pull mongodb/mongodb-atlas-local:latest
3

例:

docker run -p 27017:27017 mongodb/mongodb-atlas-local
4

ホスト(コンテナではない)からローカルAtlas配置に接続するには、次のコマンドをコピーして新しいターミナルに貼り付け、{connection_string} 変数を接続文字列に置き換えます。

注意

次の例ではmongoshを使用していますが、お好みの接続方法を使用できます。

mongosh {connection_string}

例:

mongosh "mongodb://localhost:27017/?directConnection=true"

Docker Compose を使用してローカル Atlas 配置を作成します。完全で詳細な例については、Docker Compose 例を参照してください。

注意

公式のMongoDB Dockerイメージを使用してビルドした、既存の Docker-Compose ベースの Atlas実装があり、Atlas ローカル Dev イメージを使用するように変換する場合は、以下の「 ローカル Dev 実装への変換 」を参照してください。

1

詳しくは、Docker のドキュメント を参照してください。

2

例:

brew install docker-compose

詳しくは、Docker Compose のインストールに関するドキュメント を参照してください。

3

Docker Composer を実行するのと同じディレクトリに docker-compose.yamlファイルを作成します。完全で詳細な例については、Docker Compose 例を参照してください。

例:

services: mongodb: image: mongodb/mongodb-atlas-local environment: - MONGODB_INITDB_ROOT_USERNAME=user - MONGODB_INITDB_ROOT_PASSWORD=pass ports: - 27018:27017
4

次の コマンドは、 MongoDB Search 機能が有効になっている Atlas のローカル配置を作成します。

例:

docker-compose up
5

ホスト(コンテナではない)からローカルAtlas配置に接続するには、次のコマンドをコピーして新しいターミナルに貼り付け、{connection_string} 変数を接続文字列に置き換えます。

注意

次の例ではmongoshを使用していますが、お好みの接続方法を使用できます。

mongosh {connection_string}

例:

mongosh "mongodb://user:pass@localhost:27018/?directConnection=true"
6
docker compose down -v

Docker Compose を使用すると、複数の実行にわたってデータを永続化できます。データを永続化すると、実行間でデータが失われるのを防ぐことができます。Docker Compose の実行全体でデータは引き続き利用できます。

1

詳しくは、Docker のドキュメント を参照してください。

2

例:

brew install docker-compose

詳しくは、Docker Compose のインストールに関するドキュメント を参照してください。

3

docker-compose.yamlファイルを更新して、必要なデータディレクトリをボリュームとしてマウントします。

例:

services: mongodb: hostname: mongodb image: mongodb/mongodb-atlas-local environment: - MONGODB_INITDB_ROOT_USERNAME=user - MONGODB_INITDB_ROOT_PASSWORD=pass ports: - 27019:27017 volumes: - data:/data/db - config:/data/configdbvolumes: data: config:
4

次の コマンドは、 MongoDB Search 機能が有効になっている Atlas のローカル配置を作成します。

例:

docker-compose up

Docker Compose を デプロイメントモードで実行することもできます。

例:

docker-compose up -d
5

ホスト(コンテナではない)からローカルAtlas配置に接続するには、次のコマンドをコピーして新しいターミナルに貼り付け、{connection_string} 変数を接続文字列に置き換えます。

注意

次の例ではmongoshを使用していますが、お好みの接続方法を使用できます。

mongosh {connection_string}

例:

mongosh "mongodb://user:pass@localhost:27019/?directConnection=true"

mongodb/mongodb-atlas-local Docker イメージの依存関係のリストを生成できます。

1

例:

brew install syft

詳しくは、 syft README を参照してください。

2
syft mongodb/mongodb-atlas-local

mongodb/mongodb-atlas-local Docker イメージの署名を検証できます。

1

例:

brew install cosign

詳細については、cosign のインストール を参照してください。

2

例:

curl -O https://cosign.mongodb.com/mongodb-atlas-local.pem
COSIGN_REPOSITORY="docker.io/mongodb/signatures" cosign verify --private-infrastructure --key=./mongodb-atlas-local.pem "mongodb/mongodb-atlas-local";

Githubアクションで mongodb/mongodb-atlas-local Dockerイメージを実行するには、 ワークフローファイルを作成します。 詳細については、Github Actions クイックスタート を参照してください。

例:

.github/workflowsディレクトリに次のmongodb.ymlファイルを作成します。

on: push: branches: - main pull_request:jobs: run: runs-on: ubuntu-latest services: mongodb: image: mongodb/mongodb-atlas-local ports: - 27017:27017 steps: - name: install mongosh run: | curl --output mongosh.deb https://downloads.mongodb.com/compass/mongodb-mongosh_2.2.1_amd64.deb sudo dpkg -i mongosh.deb mongosh --version - run: mongosh 'mongodb://localhost/?directConnection=true' --eval 'show dbs'

公式の実装 mongo Dockerイメージを使用して構築したDocker Compose で実装実行中の既存の Atlas がある場合は、次のチェックリストを参照して、 mongodb-atlas-local イメージへの変換を簡素化できます。

  1. 既存の command を docker-compose.yamlファイルから削除します。 Docker複合定義の command は mongodb-atlas-local イメージで定義された ENTRYPOINT を上書きするため、mongodb-atlas-local イメージが設計どおりに実行されるようにするには、既存の command を削除する必要があります。

  2. この機能は mongodb-atlas-local イメージに組み込まれているため、Atlas 配置のヘルスチェックを定義する必要はありません。

次の例は、 Docker Compose YAMLファイルに対して必要になる可能性のある変更を示しています。

services: self_built_atlas_implementation: image: mongo:8.0 ports: - 27017:27017 command: ["./entrypoint.sh"] # You may have defined a health check for the database in the entrypoint script.
services: local_dev_atlas: image: mongodb/mongodb-atlas-local:8.0 hostname: local_dev_atlas ports: - 27017:27017 environment: - MONGODB_INITDB_ROOT_USERNAME=user - MONGODB_INITDB_ROOT_PASSWORD=pass volumes: - data:/data/db - config:/data/configdbvolumes: - data: - config:

コンテナを起動した後、配置が実行されていること、接続できることを確認します。

チェックポイント
検証ステップ

イメージが引き出されました

docker images | grep mongodb-atlas-local を実行する。画像が出力に表示されます。

コンテナの実行中

docker ps を実行する。コンテナはステータス Up で表示されます。

コンテナの健康状態

docker inspect <container-id> | grep Health を実行する。ステータスは healthy を示します。

接続に成功しました

接続文字列(例:mongodb://localhost:27017/?directConnection=true)を使用して mongosh と接続します。

データ ボリュームが存在します (任意)

docker volume ls を実行する。データ ボリュームが出力に表示されます。

Docker を使用してローカル Atlas 配置を作成して検証した後、次の操作を行うことができます。