
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
MongoDB® 是一款开源的非关系型(NoSQL)数据库,采用类 JSON 文档格式存储数据,使用简便。它具备自动化扩展能力和高性能,非常适合开发云原生应用。
[MongoDB® 概览]
免责声明:本产品中提及的商标分属各自公司所有。我们不提供任何商业许可,本列表基于开源许可。MongoDB(R) 由 MongoDB 公司独立运营和维护,与 Bitnami 是完全独立的项目。
consoledocker run --name mongodb docker.xuanyuan.run/bitnami/mongodb:latest
这是由 Bitnami 构建和维护的强化版最小漏洞(CVE)镜像。Bitnami 安全镜像(BSI)基于云优化、安全强化的企业级操作系统 [Photon Linux] 。选择 BSI 镜像的理由包括:
每个镜像均附带安全元数据,可在 [公开目录] 中查看(部分数据需 [BSI 商业订阅] )。如需基于 Debian Linux 的旧版镜像,请查看 Bitnami Legacy 仓库。
通过 Helm Charts 部署 Bitnami 应用是在 Kubernetes 上快速上手的最佳方式。部署详情可参考 [Bitnami MongoDB® Chart GitHub 仓库] 。
非 root 容器能增加一层安全防护,建议在生产环境中使用。但由于运行时使用非 root 用户,可能无法执行特权操作。更多信息见 [相关文档] 。
Bitnami 标签策略(滚动标签与固定标签的区别)详见 [文档] 。各标签对应关系可查看分支文件夹中的 tags-info.yaml 文件(如 bitnami/APP/VERSION/OPERATING-SYSTEM/tags-info.yaml)。可通过 [bitnami/containers GitHub 仓库] 订阅项目更新。
推荐通过 Docker Hub 拉取预构建镜像:
consoledocker pull docker.xuanyuan.run/bitnami/mongodb:latest
如需指定版本,可拉取带版本标签的镜像,版本列表见 [Docker Hub] :
consoledocker pull docker.xuanyuan.run/bitnami/mongodb:[TAG]
也可手动构建镜像:
consolegit clone [] bitnami/APP/VERSION/OPERATING-SYSTEM # 替换 APP、VERSION、操作系统为实际值 docker build -t bitnami/APP:latest .
若删除容器,数据会丢失。需挂载卷以持久化数据,挂载目录为 /bitnami/mongodb(首次运行时会初始化空目录):
consoledocker run \ -v /本地路径/mongodb-persistence:/bitnami/mongodb \ docker.xuanyuan.run/bitnami/mongodb:latest
或修改仓库中的 [docker-compose.yml] :
diff... services: mongodb: ... volumes: - - mongodb_data:/bitnami/mongodb + - /本地路径/mongodb-persistence:/bitnami/mongodb ...
注意:由于是非 root 容器,挂载的文件和目录需对 UID
1001有正确权限。
利用 [Docker 容器网络] ,同一网络中的容器可通过容器名互访。
步骤 1:创建网络
consoledocker network create app-tier --driver bridge
步骤 2:启动 MongoDB 服务端
consoledocker run -d --name mongodb-server \ --network app-tier \ docker.xuanyuan.run/bitnami/mongodb:latest
步骤 3:启动客户端并连接
consoledocker run -it --rm \ --network app-tier \ docker.xuanyuan.run/bitnami/mongodb:latest mongo --host mongodb-server
Compose 会自动创建网络,以下示例假设应用容器(myapp)需连接 MongoDB:
yamlversion: '2' networks: app-tier: driver: bridge services: mongodb: image: docker.xuanyuan.run/bitnami/mongodb:latest networks: - app-tier myapp: image: docker.xuanyuan.run/你的应用镜像 # 替换为实际应用镜像 networks: - app-tier
重要:
- 替换
你的应用镜像为实际镜像名;- 应用容器中通过 hostname
mongodb连接服务端。
启动容器:
consoledocker-compose up -d
可自定义环境变量
| 名称 | 描述 | 默认值 |
|---|---|---|
MONGODB_MOUNTED_CONF_DIR | 自定义配置文件目录(覆盖默认配置) | ${MONGODB_VOLUME_DIR}/conf |
MONGODB_INIT_RETRY_ATTEMPTS | 服务初始化状态检查最大重试次数 | 7 |
MONGODB_INIT_RETRY_DELAY | 重试间隔(秒) | 5 |
MONGODB_PORT_NUMBER | MongoDB 端口 | $MONGODB_DEFAULT_PORT_NUMBER |
MONGODB_EXTRA_FLAGS | mongod 启动额外参数 | nil |
MONGODB_ROOT_USER | root 用户名 | root |
MONGODB_ROOT_PASSWORD | root 密码 | nil |
MONGODB_USERNAME | 初始化时创建的普通用户名 | nil |
MONGODB_PASSWORD | 普通用户密码 | nil |
MONGODB_DATABASE | 初始化时创建的数据库名 | nil |
ALLOW_EMPTY_PASSWORD | 是否允许空密码访问 | no |
MONGODB_REPLICA_SET_MODE | 副本集模式(primary/secondary/arbiter) | nil |
只读环境变量(运行时不可修改)
| 名称 | 描述 | 值 |
|---|---|---|
MONGODB_VOLUME_DIR | 持久化基础目录 | $BITNAMI_VOLUME_DIR/mongodb |
MONGODB_DATA_DIR | 数据存储目录 | ${MONGODB_VOLUME_DIR}/data |
MONGODB_CONF_FILE | 配置文件路径 | $MONGODB_CONF_DIR/mongodb.conf |
MONGODB_DEFAULT_PORT_NUMBER | 默认端口 | 27017 |
首次运行时,容器会执行 /docker-entrypoint-initdb.d 目录下扩展名为 .sh 和 .js 的文件。可通过挂载卷添加自定义脚本。
通过环境变量传递 mongod 启动参数:
consoledocker run --name mongodb -e ALLOW_EMPTY_PASSWORD=yes -e MONGODB_EXTRA_FLAGS='--wiredTigerCacheSizeGB=2' docker.xuanyuan.run/bitnami/mongodb:latest
或在 docker-compose.yml 中添加:
yamlservices: mongodb: environment: - ALLOW_EMPTY_PASSWORD=yes - MONGODB_EXTRA_FLAGS=--wiredTigerCacheSizeGB=2
MONGODB_DISABLE_SYSTEM_LOG:是否禁用系统日志(默认 false)MONGODB_SYSTEM_LOG_VERBOSITY:日志级别(0-5,默认 0,详见 [MongoDB 文档] )示例:
consoledocker run --name mongodb -e ALLOW_EMPTY_PASSWORD=yes -e MONGODB_SYSTEM_LOG_VERBOSITY=3 docker.xuanyuan.run/bitnami/mongodb:latest
设置 MONGODB_ENABLE_NUMACTL=true 可通过 numactl 启动命令,详见 [MongoDB 文档] 。
设置 MONGODB_ENABLE_IPV6=yes 启用 IPv6(默认 false):
consoledocker run --name mongodb -e ALLOW_EMPTY_PASSWORD=yes -e MONGODB_ENABLE_IPV6=yes docker.xuanyuan.run/bitnami/mongodb:latest
设置 MONGODB_ENABLE_DIRECTORY_PER_DB=yes 为每个数据库使用独立目录(默认 true,详见 [文档] ):
consoledocker run --name mongodb -e ALLOW_EMPTY_PASSWORD=yes -e MONGODB_ENABLE_DIRECTORY_PER_DB=yes docker.xuanyuan.run/bitnami/mongodb:latest
在国内网络环境下,直接使用 docker pull 访问 Docker Hub 官方仓库时,较常遇到连接超时、TLS 握手失败或 registry 响应缓慢等情况。这类问题多与跨境链路质量、运营商策略及客户端 DNS 解析有关,并非单个镜像本身异常。
轩辕镜像提供两种常用加速方式:一是使用公共加速域名 docker.xuanyuan.run 拉取(可参考 登录认证方式);二是在控制台配置 专属域名拉取,将拉取命令中的 registry 前缀替换为分配的专属域名,通常能提升成功率与稳定性。
以 bitnami/mongodb 为例,加速拉取命令格式为 docker pull docker.xuanyuan.run/bitnami/mongodb:<标签>,请将 <标签> 替换为具体版本。下方「镜像拉取方式」区块提供与本文一致的命令示例,可直接复制使用。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 bitnami/mongodb 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: