本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
本镜像是 MongoDB 官方镜像的 arm64v8 架构专用版本,基于 MongoDB 官方镜像 构建。MongoDB 是一个开源的面向文档的 NoSQL 数据库,采用 JSON 类文档格式存储数据,支持动态模式,提供高可用性和灵活的水平扩展能力。本镜像适用于在 arm64v8 架构环境中快速部署 MongoDB 数据库服务,满足对灵活数据模型、高可用性和可扩展性有需求的应用场景。
8.0.15-noble, 8.0-noble, 8-noble, noble(基于 Ubuntu Noble)7.0.25-jammy, 7.0-jammy, 7-jammy(基于 Ubuntu Jammy)6.0.26-jammy, 6.0-jammy, 6-jammy(基于 Ubuntu Jammy)8.0.15, 8.0, 8, latest → 对应 8.0.15-noble7.0.25, 7.0, 7 → 对应 7.0.25-jammy6.0.26, 6.0, 6 → 对应 6.0.26-jammydocker run --name some-mongo -d arm64v8/mongo:tag
some-mongo:容器名称(自定义)。tag:指定 MongoDB 版本标签(如 8.0-noble,见 4.1 节)。27017。docker network create some-network
docker run --name some-mongo --network some-network -d arm64v8/mongo:tag
mongosh(6.0+)或 mongo(4.x)客户端连接:
docker run -it --rm --network some-network arm64v8/mongo \ mongosh --host some-mongo test # "test" 为目标数据库名
compose.yamlservices: mongo: image: arm64v8/mongo:8.0-noble restart: always environment: MONGO_INITDB_ROOT_USERNAME: root # 初始化 root 用户 MONGO_INITDB_ROOT_PASSWORD: example # root 用户密码 volumes: - mongo-data:/data/db # 挂载数据卷持久化数据 mongo-express: # 可选:MongoDB 管理界面 image: mongo-express restart: always ports: - "8081:8081" # 暴露管理界面端口 environment: ME_CONFIG_MONGODB_URL: "mongodb://root:example@mongo:27017/" # 连接 MongoDB ME_CONFIG_BASICAUTH_ENABLED: "true" # 启用基础认证 ME_CONFIG_BASICAUTH_USERNAME: admin # 管理界面用户名 ME_CONFIG_BASICAUTH_PASSWORD: admin123 # 管理界面密码 depends_on: - mongo volumes: mongo-data: # 定义命名卷存储 MongoDB 数据
docker compose up -d # 后台启动服务
访问 http://localhost:8081 即可打开 mongo-express 管理界面。
docker exec -it some-mongo bash # "some-mongo" 为容器名称
docker logs some-mongo # 实时日志 docker logs -f some-mongo # 跟踪日志输出
MongoDB 支持通过 mongod 命令行参数自定义配置,镜像入口点会将参数传递给 mongod。例如启用查询分析器:
docker run --name some-mongo -d arm64v8/mongo:tag --profile 1 # 分析所有查询
/my/custom/mongod.conf),示例内容:
storage: dbPath: /data/db journal: enabled: true net: port: 27017 bindIp: 0.0.0.0 security: authorization: enabled
docker run --name some-mongo -v /my/custom:/etc/mongo -d arm64v8/mongo:tag \ --config /etc/mongo/mongod.conf # 指定配置文件路径
| 变量名 | 作用 | 是否必需 |
|---|---|---|
MONGO_INITDB_ROOT_USERNAME | 初始化 root 用户的用户名(仅首次启动时生效) | 与密码配对必填 |
MONGO_INITDB_ROOT_PASSWORD | 初始化 root 用户的密码(仅首次启动时生效) | 与用户名配对必填 |
MONGO_INITDB_DATABASE | 指定初始化脚本(/docker-entrypoint-initdb.d/*.js)的目标数据库名称 | 可选 |
docker run -d --name some-mongo \ -e MONGO_INITDB_ROOT_USERNAME=mongoadmin \ -e MONGO_INITDB_ROOT_PASSWORD=secret \ arm64v8/mongo:tag
连接到数据库(需认证):
docker run -it --rm arm64v8/mongo:tag \ mongosh --host some-mongo \ -u mongoadmin \ -p secret \ --authenticationDatabase admin # root 用户认证数据库为 "admin"
支持通过文件注入敏感信息(如密码),需在环境变量后添加 _FILE 后缀。例如:
docker run --name some-mongo -d \ -e MONGO_INITDB_ROOT_USERNAME_FILE=/run/secrets/mongo-user \ # 从文件读取用户名 -e MONGO_INITDB_ROOT_PASSWORD_FILE=/run/secrets/mongo-pass \ # 从文件读取密码 --secret mongo-user \ # 挂载 Docker Secret(需提前创建) --secret mongo-pass \ arm64v8/mongo:tag
首次启动容器时,可通过 /docker-entrypoint-initdb.d 目录执行初始化脚本(.js 或 .sh 文件,按字母顺序执行):
init.js):
// 创建数据库 "mydb" 及用户 "myuser" db = db.getSiblingDB('mydb'); db.createUser({ user: 'myuser', pwd: 'mypassword', roles: [{ role: 'readWrite', db: 'mydb' }] }); // 插入测试数据 db.mycollection.insertOne({ name: 'test' });
docker run --name some-mongo -v /path/to/init-scripts:/docker-entrypoint-initdb.d -d arm64v8/mongo:tag
MongoDB 默认将数据存储在容器内的 /data/db 目录,为避免数据丢失,建议通过以下方式持久化数据:
docker run --name some-mongo -v mongo-data:/data/db -d arm64v8/mongo:tag
(mongo-data 为命名卷,由 Docker 管理存储路径)
docker run --name some-mongo -v /host/path/to/data:/data/db -d arm64v8/mongo:tag
警告:Windows 和 OS X 系统中,绑定挂载的目录可能因文件系统兼容性问题导致 MongoDB 性能下降或崩溃,建议使用命名卷。
使用 mongodump 工具备份数据(需进入容器或通过网络连接):
# 从容器内备份到主机 docker exec some-mongo sh -c 'exec mongodump -d mydb --archive' > /host/backup/mydb.archive
MongoDB 软件的许可证遵循 Server Side Public License (SSPL) v1(2018 年 10 月 16 日后版本)及 Apache License(旧版本)。镜像中包含的其他软件(如基础系统组件、Bash 等)可能遵循不同许可证,用户需自行确保使用合规性。详细信息可参考 MongoDB 许可证说明 及 镜像元数据仓库。

免费版仅支持 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