本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
MongoDB® 是一款开源的非关系型(NoSQL)数据库,采用类 JSON 文档格式存储数据,使用简便。它具备自动化扩展能力和高性能,非常适合开发云原生应用。
MongoDB® 概览
免责声明:本产品中提及的商标分属各自公司所有。我们不提供任何商业许可,本列表基于开源许可。MongoDB(R) 由 MongoDB 公司独立运营和维护,与 Bitnami 是完全独立的项目。
docker run --name mongodb 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 拉取预构建镜像:
docker pull bitnami/mongodb:latest
如需指定版本,可拉取带版本标签的镜像,版本列表见 Docker Hub:
docker pull bitnami/mongodb:[TAG]
也可手动构建镜像:
git clone [***] bitnami/APP/VERSION/OPERATING-SYSTEM # 替换 APP、VERSION、操作系统为实际值 docker build -t bitnami/APP:latest .
若删除容器,数据会丢失。需挂载卷以持久化数据,挂载目录为 /bitnami/mongodb(首次运行时会初始化空目录):
docker run \ -v /本地路径/mongodb-persistence:/bitnami/mongodb \ bitnami/mongodb:latest
或修改仓库中的 docker-compose.yml:
... services: mongodb: ... volumes: - - mongodb_data:/bitnami/mongodb + - /本地路径/mongodb-persistence:/bitnami/mongodb ...
注意:由于是非 root 容器,挂载的文件和目录需对 UID
1001有正确权限。
利用 Docker 容器网络,同一网络中的容器可通过容器名互访。
docker network create app-tier --driver bridge
docker run -d --name mongodb-server \ --network app-tier \ bitnami/mongodb:latest
docker run -it --rm \ --network app-tier \ bitnami/mongodb:latest mongo --host mongodb-server
Compose 会自动创建网络,以下示例假设应用容器(myapp)需连接 MongoDB:
version: '2' networks: app-tier: driver: bridge services: mongodb: image: bitnami/mongodb:latest networks: - app-tier myapp: image: 你的应用镜像 # 替换为实际应用镜像 networks: - app-tier
重要:
- 替换
你的应用镜像为实际镜像名;- 应用容器中通过 hostname
mongodb连接服务端。
启动容器:
docker-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 启动参数:
docker run --name mongodb -e ALLOW_EMPTY_PASSWORD=yes -e MONGODB_EXTRA_FLAGS='--wiredTigerCacheSizeGB=2' bitnami/mongodb:latest
或在 docker-compose.yml 中添加:
services: mongodb: environment: - ALLOW_EMPTY_PASSWORD=yes - MONGODB_EXTRA_FLAGS=--wiredTigerCacheSizeGB=2
MONGODB_DISABLE_SYSTEM_LOG:是否禁用系统日志(默认 false)MONGODB_SYSTEM_LOG_VERBOSITY:日志级别(0-5,默认 0,详见 MongoDB 文档)示例:
docker run --name mongodb -e ALLOW_EMPTY_PASSWORD=yes -e MONGODB_SYSTEM_LOG_VERBOSITY=3 bitnami/mongodb:latest
设置 MONGODB_ENABLE_NUMACTL=true 可通过 numactl 启动命令,详见 MongoDB 文档。
设置 MONGODB_ENABLE_IPV6=yes 启用 IPv6(默认 false):
docker run --name mongodb -e ALLOW_EMPTY_PASSWORD=yes -e MONGODB_ENABLE_IPV6=yes bitnami/mongodb:latest
设置 MONGODB_ENABLE_DIRECTORY_PER_DB=yes 为每个数据库使用独立目录(默认 true,详见 文档):
docker run --name mongodb -e ALLOW_EMPTY_PASSWORD=yes -e MONGODB_ENABLE_DIRECTORY_PER_DB=yes bitnami/mongodb:latest
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429