
stempler/mongodb【重要提示】此镜像即将弃用,请使用Docker官方MongoDB镜像:[*]
tutum-docker-mongodb是用于运行MongoDB数据库服务器的基础Docker镜像,支持多种配置方式,包括密码设置、用户与数据库自定义、存储引擎选择等。不同MongoDB版本通过不同文件夹构建,推荐使用tutum/mongodb镜像(详情见GitHub仓库)。
适用于需要快速部署MongoDB的开发、测试环境,支持单机实例的基础配置。由于镜像已计划弃用,生产环境建议迁移至官方MongoDB镜像。
在tutum-mongodb目录下,执行以下命令构建指定版本镜像(以2.6为例):
bashdocker build -t tutum/mongodb 2.6/ .
bashdocker run -d -p 27017:27017 -p 28017:28017 tutum/mongodb
首次运行时会生成随机管理员密码,通过容器日志获取:
bashdocker logs <CONTAINER_ID>
日志输出示例:
======================================================================== You can now connect to this MongoDB server using: mongo admin -u admin -p 5elsT6KtjrqV --host <host> --port <port> Please remember to change the above password as soon as possible! ========================================================================
使用生成的密码连接:
bashmongo admin -u admin -p 5elsT6KtjrqV
通过MONGODB_PASS环境变量指定预设密码:
bashdocker run -d -p 27017:27017 -p 28017:28017 -e MONGODB_PASS="mypass" tutum/mongodb
验证密码:
bashmongo admin -u admin -p mypass # 或通过HTTP界面验证 curl --user admin:mypass --digest http://localhost:28017/
通过环境变量创建指定用户和数据库:
bashdocker run -d -p 27017:27017 -p 28017:28017 \ -e MONGODB_USER="user" \ -e MONGODB_DATABASE="mydatabase" \ -e MONGODB_PASS="mypass" \ tutum/mongodb
验证凭据:
bashmongo mydatabase -u user -p mypass
注意:MongoDB 3.x版本会同时创建与该用户同名的管理员账户,可通过
mongo admin -u user -p mypass登录。
设置AUTH=no禁用密码验证(默认启用密码验证):
bashdocker run -d -p 27017:27017 -p 28017:28017 -e AUTH=no tutum/mongodb
通过STORAGE_ENGINE指定存储引擎(默认wiredTiger):
bashdocker run -d -p 27017:27017 -p 28017:28017 \ -e AUTH=no \ -e STORAGE_ENGINE=mmapv1 \ tutum/mongodb:3.0
通过OPLOG_SIZE指定oplog大小(单位:MB):
bashdocker run -d -p 27017:27017 -p 28017:28017 \ -e AUTH=no \ -e OPLOG_SIZE=50 \ tutum/mongodb:3.0
默认行为:MongoDB默认分配可用磁盘空间的5%作为oplog,最小1GB,最大50GB。
来源:[***]
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务