MongoDB Enterprise を Docker でインストール
重要
MongoDB でコンテナを使用する場合の推奨ソリューションは次のとおりです。
開発とテストには MongoDB Community Docker コンテナ を使用します 。このイメージは MongoDB によって管理され、 イメージには、MongoDBMongoDB Community Edition のMongoDB が含まれています。
MongoDB Enterprise 本番インストールでは、 Enterprise Kubernetes Operatorを使用して Kubernetes 内に MongoDB クラスターを配置および管理します。
公式の MongoDB Enterprise イメージを使用して、MongoDB Enterprise Edition を Docker コンテナとして実行できます。以下の場合は、Docker コンテナを使用して MongoDB 配置を実行します。
配置を迅速に設定します。
設定ファイルの編集は避けてください。
MongoDB の複数のバージョンから機能をテストします。
このタスクについて
このページでは、Docker に関する予備知識を前提としています。Docker の完全な説明は、このドキュメントの範囲外です。
この手順では、公式の MongoDB Enterprise Advanced Server を使用します。 MongoDB によって管理されるコンテナです。
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-enterprise-server:latest
このコマンドの -p 27017:27017
は、コンテナ ポートをホスト ポートにマッピングします。これにより、localhost:27017
接続文字列を使用して MongoDB に接続できるようになります。
MongoDB の特定のバージョンをインストールするには、Docker 実行コマンドの :
の後にバージョンを指定します。Docker は指定されたバージョンをプルして実行します。
たとえば、MongoDB 5.0 の実行は、次のようにします。
docker run --name mongodb -p 27017:27017 -d mongodb/mongodb-enterprise-server:5.0-ubuntu2004
利用可能なバージョンの完全なリストについては、「タグ」を参照してください。
注意
コマンドライン オプションを追加する
runmongod コマンドにコマンド ライン オプションを追加することで、 コマンドライン オプション を使用できます。Docker
たとえば、mongod --replSet
docker コマンドライン オプションを考えてみましょう。
docker run -p 27017:27017 -d mongodb/mongodb-enterprise-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-enterprise-server:latest "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 リポジトリ」を参照してください。
詳細
互換性情報については、 Docker と MongoDB を参照してください。