bitnami/mongodb-shardedMongoDB® 是一个开源 NoSQL 数据库,使用 JSON 格式存储数据。MongoDB™ 分片集群通过将数据分布到多台机器上,提高了大型数据集的可扩展性和可靠性。
MongoDB® 分片集群概述
免责声明:所提及的相关商标归各自公司所有。我们不提供任何这些产品的商业许可。本列表使用开源许可。MongoDB(R) 由 MongoDB 公司运营和维护,与 Bitnami 是完全独立的项目。
consoledocker run --name mongodb bitnami/mongodb-sharded:latest
自 2025 年 8 月 28 日起,Bitnami 将升级其公共镜像目录,通过新的 Bitnami 安全镜像计划 提供精选的强化、安全聚焦镜像。作为此次过渡的一部分:
更多详情请访问 Bitnami 安全镜像公告。
推荐使用 Helm 图表部署。详情请参阅 Bitnami MongoDB® Sharded Chart GitHub 仓库。
非根容器通过限制权限增强安全性,推荐用于生产环境。但由于以非 root 用户运行,可能无法执行特权任务。详见 非根容器文档。
了解 Bitnami 标签策略(滚动标签 vs 不可变标签)请参阅 文档。标签对应关系可查看分支文件夹中的 tags-info.yaml 文件。
通过关注 bitnami/containers GitHub 仓库 订阅项目更新。
推荐方式:
consoledocker pull bitnami/mongodb-sharded:latest
拉取特定版本:
consoledocker pull bitnami/mongodb-sharded:[标签]
可用版本列表
consolegit clone [***] cd bitnami/APP/VERSION/OPERATING-SYSTEM docker build -t bitnami/APP:latest .
容器删除后数据会丢失,需挂载卷持久化存储。挂载目录需对 UID 1001 有读写权限。
consoledocker run \ -v /path/to/mongodb-persistence:/bitnami/mongodb \ bitnami/mongodb-sharded:latest
修改 docker-compose.yml,为每个组件创建持久化目录并授权(chown 1001:1001 [目录] && chmod 777 [目录]):
yamlservices: mongodb-sharded: volumes: - /path/to/mongos-persistence:/bitnami mongodb-shard0: volumes: - /path/to/mongoshard-persistence:/bitnami mongodb-cfg: volumes: - /path/to/mongocfg-persistence:/bitnami
| 名称 | 描述 | 默认值 |
|---|---|---|
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 | 初始化额外标志 | nil |
MONGODB_ENABLE_NUMACTL | 使用 numactl 执行命令 | false |
MONGODB_ADVERTISED_HOSTNAME | 服务通告主机名 | nil |
MONGODB_ADVERTISE_IP | 使用容器 IP 作为通告主机名 | false |
MONGODB_ROOT_USER | Root 用户名 | root |
MONGODB_ROOT_PASSWORD | Root 密码 | nil |
ALLOW_EMPTY_PASSWORD | 允许空密码访问 | no |
MONGODB_REPLICA_SET_MODE | 副本集模式(primary/secondary/arbiter) | nil |
MONGODB_REPLICA_SET_NAME | 副本集名称 | $MONGODB_DEFAULT_REPLICA_SET_NAME |
MONGODB_SHARDING_MODE | 分片模式(mongos/configsvr/shardsvr) | nil |
MONGODB_CFG_REPLICA_SET_NAME | 配置服务器副本集名称 | nil |
MONGODB_CFG_PRIMARY_HOST | 配置服务器主节点主机 | nil |
MONGODB_MONGOS_HOST | Mongos 主机 | nil |
| 名称 | 描述 | 值 |
|---|---|---|
MONGODB_VOLUME_DIR | 持久化基础目录 | $BITNAMI_VOLUME_DIR/mongodb |
MONGODB_DATA_DIR | 数据目录 | ${MONGODB_VOLUME_DIR}/data |
MONGODB_CONF_FILE | 配置文件路径 | $MONGODB_CONF_DIR/mongodb.conf |
MONGODB_LOG_FILE | 日志文件路径 | $MONGODB_LOG_DIR/mongodb.log |
MONGODB_DEFAULT_PORT_NUMBER | 默认端口 | 27017 |
MONGODB_DAEMON_USER | 系统用户 | mongo |
分片集群包含三个组件:
| 变量名 | 描述 |
|---|---|
MONGODB_SHARDING_MODE | 节点角色(mongos/configsvr/shardsvr) |
MONGODB_REPLICA_SET_KEY | 副本集密钥(长度 >5,无特殊字符) |
MONGODB_ROOT_PASSWORD | Root 密码(必需) |
MONGODB_CFG_REPLICA_SET_NAME | 配置服务器副本集名称 |
MONGODB_CFG_PRIMARY_HOST | 配置服务器主节点地址 |
创建配置服务器副本集
启动主配置服务器:
consoledocker run -d \ -e MONGODB_SHARDING_MODE=configsvr \ -e MONGODB_REPLICA_SET_MODE=primary \ -e MONGODB_REPLICA_SET_NAME=cfg-replicaset \ -e MONGODB_REPLICA_SET_KEY=replicaset-key \ -e MONGODB_ROOT_PASSWORD=root-password \ --name mongodb-cfg-primary \ bitnami/mongodb-sharded:latest
添加配置服务器从节点(步骤略)
部署分片副本集(步骤略)
启动 Mongos 路由(步骤略)
完整部署指南请参阅 官方文档。
(注:完整文档超出长度限制,更多细节请访问上述链接)
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务