Docker で MongoDB Community をインストール
公式の MongoDB コミュニティ イメージを使用して、MongoDB コミュニティ エディション を Docker コンテナとして実行できます。MongoDB 配置を実行するために Docker イメージを使用すると、次のことが可能になります。
配置の迅速な立ち上げ
構成ファイルの管理を支援
MongoDB の複数のバージョンでさまざまな機能をテスト
このタスクについて
このページでは、MongoDB コミュニティ エディション で 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 リポジトリ」を参照してください。