Docker で MongoDB Community をインストール
公式の MongoDB コミュニティ イメージを使用して、MongoDB コミュニティ エディション を Docker コンテナとして実行できます。MongoDB 配置を実行するために Docker イメージを使用すると、次のことが可能になります。
配置の迅速な立ち上げ
構成ファイルの管理を支援
MongoDB の複数のバージョンでさまざまな機能をテスト
このタスクについて
このページでは、 MongoDB Community edition でDockerをインストールする手順を説明します。 MongoDB Enterprise Dockerイメージ とMongoDB Enterprise Kubernetes演算子 は、本番環境の配置に適しており、また併用する必要があります。 MongoDB Enterprise での手順については、 Dockerを使用してMongoDB Enterpriseをインストールする を参照してください。
この手順では、MongoDB が管理する公式の MongoDB Community イメージを使用します。
Docker の完全な説明は、このドキュメントの範囲外です。このページは Docker に関する予備知識を前提としています。
MongoDB 5.0+Docker イメージには、システムで AVX のサポートが必要です。システムが AVX をサポートしていない場合は、バージョン 5.0 以前の MongoDB の Docker イメージを使用できます。
警告
5.0より前のバージョンの MongoDB は EOL になっており、MongoDB ではサポートされなくなりました。これらのバージョンは、テスト目的でのみ使用してください。
始める前に
手順
イメージをコンテナとして実行します
docker run --name mongodb -p 27017:27017 -d mongodb/mongodb-community-server:latest
このコマンドの -p 27017:27017
は、コンテナ ポートをホスト ポートにマッピングします。これにより、localhost:27017
接続文字列を使用して MongoDB に接続できるようになります。
MongoDB の特定のバージョンをインストールするには、Docker 実行コマンドの :
の後にバージョンを指定します。Docker は指定されたバージョンをプルして実行します。
たとえば、MongoDB 5.0 の実行は、次のようにします。
docker run --name mongodb -p 27017:27017 -d mongodb/mongodb-community-server:5.0-ubuntu2004
利用可能なバージョンの完全なリストについては、「タグ」を参照してください。
注意
コマンドライン オプションを追加する
docker run コマンドにコマンドライン オプションを追加することで、mongod コマンドライン オプションを使用できます。
たとえば、mongod --replSet
docker コマンドライン オプションを考えてみましょう。
docker run -p 27017:27017 -d mongodb/mongodb-community-server:latest --name mongodb --replSet myReplicaSet
コンテナが実行中であることを確認します
Docker コンテナのステータスを確認するには、次のコマンドを実行します。
docker container ls
ls
コマンドの出力には、実行中のコンテナを説明する次のフィールドが一覧表示されます。
Container ID
Image
Command
Created
Status
Port
Names
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c29db5687290 mongodb/mongodb-community-server:5.0-ubi8 "docker-entrypoint.s…" 4 seconds ago Up 3 seconds 27017/tcp mongo
配置を検証します
MongoDB インスタンスが実行中であることを確認するには、Hello
コマンドを実行します。
db.runCommand( { hello: 1 } )
このコマンドの結果は、mongod
配置を説明するドキュメントを返します。
{ isWritablePrimary: true, topologyVersion: { processId: ObjectId("63c00e27195285e827d48908"), counter: Long("0") }, maxBsonObjectSize: 16777216, maxMessageSizeBytes: 48000000, maxWriteBatchSize: 100000, localTime: ISODate("2023-01-12T16:51:10.132Z"), logicalSessionTimeoutMinutes: 30, connectionId: 18, minWireVersion: 0, maxWireVersion: 20, readOnly: false, ok: 1 }
次のステップ(任意)
Cosign を使用して、コンテナ イメージの MongoDB 署名を検証することができます。
この手順は任意です。MongoDB を Docker やその他のコンテナ化されたプラットフォームで実行するために、MongoDB の署名を検証する必要はありません。
MongoDB コンテナの署名を検証するには、次の手順を実行します。
Cosign をダウンロードしてインストールします
インストール手順については、「Cosign GitHub リポジトリ」を参照してください。