MongoDB Enterprise を Docker でインストール
重要
MongoDB でコンテナを使用する場合の推奨ソリューションは次のとおりです。
開発とテストにはMongoDB Community Dockerコンテナ を使用します。このイメージはMongoDBによって管理され、イメージにはMongoDBの Community Edition が含まれています。
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 を参照してください。