专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

bitnamisecure/mongodb Docker 镜像 - 轩辕镜像

mongodb
bitnamisecure/mongodb
Bitnami 打包的 MongoDB® Docker 镜像是一个安全加固的 NoSQL 数据库镜像,采用 JSON 格式存储数据,具备自动化扩展和高性能特性,支持非 root 用户运行,适用于云原生应用开发,提供简单部署和丰富配置选项。
2 收藏0 次下载activebitnamisecure镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

Bitnami 打包的 MongoDB®

什么是 MongoDB®?

MongoDB® 是一个关系型开源 NoSQL 数据库。它易于使用,以类 JSON 文档格式存储数据,具备自动化扩展能力和高性能,非常适合开发云原生应用。

MongoDB® 概述 免责声明:本产品中提及的相关商标归各自公司所有。我们不提供任何这些产品的商业许可。本列表使用开源许可。MongoDB(R) 由 MongoDB 公司运营和维护,是与 Bitnami 完全独立的项目。

快速启动

console
docker run --name mongodb REGISTRY_NAME/bitnami/mongodb:latest

为什么使用 Bitnami 安全镜像?

这些是由 Bitnami 构建和维护的加固型、最小化 CVE 镜像。Bitnami 安全镜像基于云优化、安全加固的企业级 OS Photon Linux。为什么选择 BSI 镜像?

  • 流行开源软件的加固安全镜像,几乎零漏洞
  • 带有 VEX 声明、KEV 和 EPSS 评分的漏洞分类与优先级排序
  • 关注合规性,支持 FIPS、STIG 和离线选项,包括安全物料清单 (SBOM)
  • 通过 in-toto 提供软件供应链来源证明
  • 对互联网上最受欢迎的 Helm 图表提供一流支持

每个镜像都附带有价值的安全元数据。您可以在 我们的公共目录 中查看元数据。注意:某些数据仅对 BSI 商业订阅 可用。

!应用详情 !打包报告

如果您正在寻找基于 Debian Linux 的上一代镜像,请参阅 Bitnami Legacy 仓库。

如何在 Kubernetes 中部署 MongoDB®?

将 Bitnami 应用部署为 Helm Charts 是在 Kubernetes 上开始使用我们应用的最简单方法。在 Bitnami MongoDB® Chart GitHub 仓库 中了解更多安装信息。

为什么使用非 root 容器?

非 root 容器镜像增加了额外的安全层,通常推荐用于生产环境。但是,由于它们以非 root 用户运行,特权任务通常受到限制。在 我们的文档 中了解更多关于非 root 容器的信息。

支持的标签及相应的 Dockerfile 链接

在 我们的文档页面 中了解更多关于 Bitnami 标签策略以及滚动标签和不可变标签之间的区别。

您可以通过查看分支文件夹中存在的 tags-info.yaml 文件(即 bitnami/ASSET/BRANCH/DISTRO/tags-info.yaml)来了解不同标签之间的对应关系。

通过关注 bitnami/containers GitHub 仓库 订阅项目更新。

获取此镜像

获取 Bitnami MongoDB® Docker 镜像的推荐方法是从 Docker Hub 仓库 拉取预构建镜像。

console
docker pull REGISTRY_NAME/bitnami/mongodb:latest

要使用特定版本,您可以拉取带版本的标签。您可以在 Docker Hub 仓库中查看 可用版本列表。

console
docker pull REGISTRY_NAME/bitnami/mongodb:[TAG]

如果您愿意,也可以通过克隆仓库、切换到包含 Dockerfile 的目录并执行 docker build 命令来自行构建镜像。请记住在下面的示例命令中用正确的值替换 APP、VERSION 和 OPERATING-SYSTEM 路径占位符。

console
git clone [***]
cd bitnami/APP/VERSION/OPERATING-SYSTEM
docker build -t REGISTRY_NAME/bitnami/APP:latest .

数据持久化

如果您删除容器,所有数据都将丢失,下次运行镜像时数据库将重新初始化。为避免数据丢失,您应该挂载一个即使在容器被删除后也会保留的卷。

为实现持久化,您应该在 /bitnami/mongodb 路径挂载一个目录。如果挂载的目录为空,将在首次运行时初始化。

console
docker run \
    -v /path/to/mongodb-persistence:/bitnami/mongodb \
    REGISTRY_NAME/bitnami/mongodb:latest

或者通过修改此仓库中存在的 docker-compose.yml 文件:

diff
 ...
 services:
   mongodb:
     ...
     volumes:
-      - mongodb_data:/bitnami/mongodb
+      - /path/to/mongodb-persistence:/bitnami/mongodb
   ...

注意:由于这是一个非 root 容器,挂载的文件和目录必须对 UID 1001 具有适当的权限。

连接到其他容器

使用 Docker 容器网络,在容器内运行的 MongoDB® 服务器可以轻松被您的应用容器访问。

连接到同一网络的容器可以使用容器名称作为主机名相互通信。

使用命令行

在此示例中,我们将创建一个 MongoDB® 客户端实例,该实例将连接到与客户端在同一 docker 网络上运行的服务器实例。

步骤 1:创建网络
console
docker network create app-tier --driver bridge
步骤 2:启动 MongoDB® 服务器实例

使用 --network app-tier 参数作为 docker run 命令的参数,将 MongoDB® 容器附加到 app-tier 网络。

console
docker run -d --name mongodb-server \
    --network app-tier \
    REGISTRY_NAME/bitnami/mongodb:latest
步骤 3:启动 MongoDB® 客户端实例

最后,我们创建一个新的容器实例来启动 MongoDB® 客户端并连接到上一步创建的服务器:

console
docker run -it --rm \
    --network app-tier \
    REGISTRY_NAME/bitnami/mongodb:latest mongo --host mongodb-server
使用 Docker Compose 文件

如果未指定,Docker Compose 会自动设置一个新网络并将所有部署的服务附加到该网络。但是,我们将显式定义一个名为 app-tier 的新 bridge 网络。在此示例中,我们假设您希望从自己的自定义应用镜像(在以下代码段中由服务名称 myapp 标识)连接到 MongoDB® 服务器。

yaml
version: '2'

networks:
  app-tier:
    driver: bridge

services:
  mongodb:
    image: REGISTRY_NAME/bitnami/mongodb:latest
    networks:
      - app-tier
  myapp:
    image: YOUR_APPLICATION_IMAGE
    networks:
      - app-tier

重要提示:

  1. 请将上述代码段中的 YOUR_APPLICATION_IMAGE 占位符更新为您的应用镜像
  2. 在您的应用容器中,使用主机名 mongodb 连接到 MongoDB® 服务器

使用以下命令启动容器:

console
docker-compose up -d

配置

环境变量
可自定义环境变量
名称描述默认值
MONGODB_MOUNTED_CONF_DIR用于包含自定义配置文件(覆盖默认生成的配置文件)的目录${MONGODB_VOLUME_DIR}/conf
MONGODB_INIT_RETRY_ATTEMPTS检查服务初始化状态的最大重试次数7
MONGODB_INIT_RETRY_DELAY检查服务初始化状态的重试间隔时间(秒)5
MONGODB_PORT_NUMBERMongoDB 端口$MONGODB_DEFAULT_PORT_NUMBER
MONGODB_EXTRA_FLAGSMongoDB 初始化的额外标志nil
MONGODB_ENABLE_NUMACTL使用 numactl 执行命令false
MONGODB_SHELL_EXTRA_FLAGS初始化期间使用 mongodb 客户端时的额外标志(挂载初始化脚本时有用)nil
MONGODB_ADVERTISED_HOSTNAME用于公布 MongoDB 服务的主机名nil
MONGODB_ADVERTISE_IP是否将公布的主机名设置为容器 IPfalse
MONGODB_ADVERTISED_PORT_NUMBERMongoDB 公布的端口号。如果您有代理端口转发请求到容器,建议传递此环境变量nil
MONGODB_DISABLE_JAVASCRIPT禁用 MongoDB 服务器端 JavaScript 执行no
MONGODB_ENABLE_JOURNAL启用 MongoDB 日志nil
MONGODB_DISABLE_SYSTEM_LOG禁用 MongoDB 守护进程系统日志nil
MONGODB_ENABLE_DIRECTORY_PER_DB使用单独的文件夹存储每个数据库数据nil
MONGODB_ENABLE_IPV6使用 IPv6 进行数据库连接nil
MONGODB_SYSTEM_LOG_VERBOSITYMongoDB 守护进程日志级别nil
MONGODB_ROOT_USERMongoDB 根用户用户名root
MONGODB_ROOT_PASSWORDMongoDB 根用户密码nil
MONGODB_USERNAME初始化时生成的用户nil
MONGODB_PASSWORDMONGODB_USERNAME 中指定的非根用户的密码nil
MONGODB_DATABASE初始化时创建的数据库名称nil
MONGODB_METRICS_USERNAME用于指标收集的用户,例如与 mongodb_exporter 一起使用nil
MONGODB_METRICS_PASSWORDMONGODB_METRICS_USERNAME 中指定的非根用户的密码nil
MONGODB_EXTRA_USERNAMES要创建的额外用户的逗号或分号分隔列表nil
MONGODB_EXTRA_PASSWORDSMONGODB_EXTRA_USERNAMES 中指定的用户的密码的逗号或分号分隔列表nil
MONGODB_EXTRA_DATABASES初始化时为 MONGODB_EXTRA_USERNAMES 中指定的用户创建的数据库的逗号或分号分隔列表nil
ALLOW_EMPTY_PASSWORD允许无需设置任何密码访问 MongoDBno
MONGODB_REPLICA_SET_MODEMongoDB 副本集模式。可以是 primary、secondary 或 arbiter 之一nil
MONGODB_REPLICA_SET_NAMEMongoDB 副本集名称$MONGODB_DEFAULT_REPLICA_SET_NAME
MONGODB_REPLICA_SET_KEYMongoDB 副本集密钥nil
MONGODB_INITIAL_PRIMARY_HOST副本集主节点的主机名(对于仲裁节点和从节点是必需的)nil
MONGODB_INITIAL_PRIMARY_PORT_NUMBER副本集主节点的端口(对于仲裁节点和从节点是必需的)27017
MONGODB_INITIAL_PRIMARY_ROOT_PASSWORD主节点根用户密码(对于仲裁节点和从节点是必需的)nil
MONGODB_INITIAL_PRIMARY_ROOT_USER主节点根用户名(对于仲裁节点和从节点是必需的)root
MONGODB_SET_SECONDARY_OK将节点标记为可读。在 PVC 丢失的情况下是必需的no
MONGODB_DISABLE_ENFORCE_AUTH默认情况下,将强制执行 MongoDB 身份验证。如果设置为 true,MongoDB 将不强制执行身份验证false
只读环境变量
名称描述值
MONGODB_VOLUME_DIR持久化基本目录$BITNAMI_VOLUME_DIR/mongodb
MONGODB_BASE_DIRMongoDB 安装目录$BITNAMI_ROOT_DIR/mongodb
MONGODB_CONF_DIRMongoDB 配置目录$MONGODB_BASE_DIR/conf
MONGODB_DEFAULT_CONF_DIRMongoDB 默认配置目录$MONGODB_BASE_DIR/conf.default
MONGODB_LOG_DIRMongoDB 日志目录$MONGODB_BASE_DIR/logs
MONGODB_DATA_DIRMongoDB 数据目录${MONGODB_VOLUME_DIR}/data
MONGODB_TMP_DIRMongoDB 临时目录$MONGODB_BASE_DIR/tmp
MONGODB_BIN_DIRMongoDB 可执行文件目录$MONGODB_BASE_DIR/bin
MONGODB_TEMPLATES_DIRmongodb.conf 模板文件存储目录$MONGODB_BASE_DIR/templates
MONGODB_MONGOD_TEMPLATES_FILEmongodb.conf 模板文件路径$MONGODB_TEMPLATES_DIR/mongodb.conf.tpl
MONGODB_CONF_FILEMongoDB 配置文件路径$MONGODB_CONF_DIR/mongodb.conf
MONGODB_KEY_FILEMongoDB 副本集密钥文件路径$MONGODB_CONF_DIR/keyfile
MONGODB_DB_SHELL_FILEMongoDB dbshell 文件路径/.dbshell
MONGODB_RC_FILEMongoDB rc 文件路径/.mongorc.js
MONGOSH_DIRmongosh 目录路径/.mongodb
MONGOSH_RC_FILEmongosh rc 文件路径/.mongoshrc.js
MONGODB_PID_FILEMongoDB PID 文件路径$MONGODB_TMP_DIR/mongodb.pid
MONGODB_LOG_FILEMongoDB 日志文件路径$MONGODB_LOG_DIR/mongodb.log
MONGODB_INITSCRIPTS_DIRMongoDB 容器初始化脚本目录路径/docker-entrypoint-initdb.d
MONGODB_DAEMON_USERMongoDB 系统用户mongo
MONGODB_DAEMON_GROUPMongoDB 系统组mongo
MONGODB_DEFAULT_PORT_NUMBER构建时设置的 MongoDB 端口27017
MONGODB_DEFAULT_ENABLE_JOURNAL构建时启用 MongoDB 日志true
MONGODB_DEFAULT_DISABLE_SYSTEM_LOG构建时设置禁用 MongoDB 守护进程系统日志false
MONGODB_DEFAULT_ENABLE_DIRECTORY_PER_DB构建时设置使用单独的文件夹存储每个数据库数据false
MONGODB_DEFAULT_ENABLE_IPV6构建时设置使用 IPv6 进行数据库连接false
MONGODB_DEFAULT_SYSTEM_LOG_VERBOSITY构建时设置的 MongoDB 守护进程日志级别0
MONGODB_DEFAULT_REPLICA_SET_NAME构建时设置的 MongoDB 副本集名称replicaset
初始化新实例

当容器首次执行时,它将执行位于 /docker-entrypoint-initdb.d 且扩展名为 .sh 和 .js 的文件。

为了使您的自定义文件位于 docker 镜像中,您可以将它们挂载为卷。

传递额外的命令行标志给 mongod 启动

可以通过以下环境变量将额外的命令行标志传递给 mongod 服务命令:

  • MONGODB_EXTRA_FLAGS:要附加到 mongod
查看更多 mongodb 相关镜像 →
mongodb/mongodb-community-server logo
mongodb/mongodb-community-server
by MongoDB
认证
官方MongoDB社区服务器是由MongoDB公司推出的免费开源文档数据库服务,专为开发者与技术社区打造,支持以JSON格式存储灵活的非结构化及半结构化数据,具备高可扩展性、易部署性和丰富的查询功能,广泛应用于Web开发、大数据分析、移动应用后端等场景,为用户提供高效的数据管理解决方案并促进社区协作与技术交流。
17410M+ pulls
上次更新:6 天前
mongodb/mongodb-atlas-search logo
mongodb/mongodb-atlas-search
by MongoDB
认证
Atlas Search提供无缝、可扩展的体验,用于构建基于相关性的应用功能。
31M+ pulls
上次更新:1 个月前
mongodb/mongodb-enterprise-server logo
mongodb/mongodb-enterprise-server
by MongoDB
认证
MongoDB官方企业高级服务器是面向企业级应用的高性能、可扩展文档数据库服务器,支持复杂查询、分布式部署与实时数据分析,提供企业级安全特性(如身份验证、数据加密)、完善的数据备份与恢复机制及专业监控工具,助力企业构建稳定高效的现代应用架构,满足大规模数据存储、处理与业务创新需求。
141M+ pulls
上次更新:6 天前
mongodb/atlas logo
mongodb/atlas
by MongoDB
认证
从命令行创建、管理和自动化MongoDB Atlas资源
10500K+ pulls
上次更新:6 天前
mongodb/mongodb-atlas-local logo
mongodb/mongodb-atlas-local
by MongoDB
认证
通过Docker创建、管理和自动化MongoDB Atlas Local资源
101M+ pulls
上次更新:7 天前
mongodb/signatures logo
mongodb/signatures
by MongoDB
认证
为容器镜像提供签名功能,用于验证镜像的真实性与完整性,确保镜像来源可信。
11M+ pulls
上次更新:6 天前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
bitnamisecure/mongodb
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429