使用 Docker 安装 MongoDB Enterprise Edition
重要
将 container 与 MongoDB 结合使用的推荐解决方案为:
如要进行开发和测试,请使用 MongoDB Community Docker 容器 。此映像由 MongoDB 维护。此映像包含 MongoDB 的 Community Edition 版。
对于 MongoDB Enterprise 生产安装,请使用 Enterprise Kubernetes Operator 在 Kubernetes 中部署和管理 MongoDB 集群。
您可以使用官方 MongoDB Enterprise 映像将 MongoDB Enterprise Edition 作为 Docker container 来运行。如果要执行以下操作,请使用 Docker container 来运行 MongoDB 部署:
快速设置部署。
避免编辑配置文件。
测试 MongoDB 多个版本中的功能。
关于此任务
本页假定您已了解 Docker。对 Docker 的完整描述已超出本文档的范围。
此过程将使用官方 MongoDB Enterprise Advanced Server容器,而它由 MongoDB 进行维护。
MongoDB 5.0+ Docker 映像要求系统支持AVX。如果您的系统不支持 AVX,您可以使用版本 5.0 之前的 MongoDB docker 映像。
警告
MongoDB 5.0 之前的版本已停止服务并且不再由 MongoDB 提供支持。这些版本只能用于测试目的。
开始之前
步骤
将映像作为 container 运行
docker run --name mongodb -p 27017:27017 -d mongodb/mongodb-enterprise-server:latest
此命令中的 -p 27017:27017
将容器端口映射到主机端口。这样就可以使用 localhost:27017
连接字符串连接 MongoDB。
要安装特定版本的 MongoDB,请在 Docker run 命令中的 :
后面指定版本。Docker 会拉取并运行指定的版本。
例如,要运行 MongoDB 5.0,请执行以下操作:
docker run --name mongodb -p 27017:27017 -d mongodb/mongodb-enterprise-server:5.0-ubuntu2004
有关可用版本的完整列表,请参阅标签。
注意
添加命令行选项
您可以通过将命令行选项附加到 Docker 运行命令来使用 mongod 命令行选项。
以 mongod --replSet
Docker 命令行选项为例:
docker run -p 27017:27017 -d mongodb/mongodb-enterprise-server:latest --name mongodb --replSet myReplicaSet
检查 container 正在运行
要检查 Docker container 的状态,请运行以下命令:
docker container ls
ls
命令的输出列出了描述正在运行的 container 的以下字段:
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。