Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

使用 Docker 安装 MongoDB 社区

在此页面上

  • 关于此任务
  • 开始之前
  • 步骤
  • 后续步骤(可选)

您可以通过官方 MongoDB Community 镜像让 MongoDB Community Edition 作为 Docker 容器运行。使用 Docker 镜像来运行您的 MongoDB 部署对于以下方面很有用:

  • 快速构建部署。

  • 帮助管理配置文件。

  • 在多个版本的 MongoDB 上测试不同功能。

  • 本页介绍了 MongoDB Community 版的 Docker 安装说明。建议将 MongoDB Enterprise Docker 映像MongoDB Enterprise Kubernetes Operator 用于生产部署,并且应同时使用。有关 Enterprise 版的说明,请参阅使用 Docker 安装 MongoDB Enterprise 。

  • 此过程将使用官方 MongoDB Community 映像(由 MongoDB 维护)。

  • Docker 的完整描述已超出本文档的范围。本页假定您已了解 Docker。

  • MongoDB 5.0+ Docker 映像要求系统支持AVX。如果您的系统不支持 AVX,您可以使用版本 5.0 之前的 MongoDB docker 映像。

    警告

    MongoDB 5.0 之前的版本已停止服务并且不再由 MongoDB 提供支持。这些版本只能用于测试目的。

1
docker pull mongodb/mongodb-community-server:latest
2
docker run --name mongodb -p 27017:27017 -d mongodb/mongodb-community-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-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
3

要检查 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/mongodb-community-server:5.0-ubi8 "docker-entrypoint.s…" 4 seconds ago Up 3 seconds 27017/tcp mongo
4
mongosh --port 27017
5

要确认 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 的容器签名,请执行以下步骤:

1

有关安装说明,请参阅 Cosign GitHub 存储库。

2
curl https://cosign.mongodb.com/server.pem > server.pem
3

运行以下命令以按标记验证签名:

COSIGN_REPOSITORY=docker.io/mongodb/signatures cosign verify --private-infrastructure --key=./server.pem docker.io/mongodb/mongodb-community-server:latest

后退

使用 msiexec.exe 进行安装