1.用 docker search mongo 命令来查看可用版本
代码语言:txt复制$ docker search mongo
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mongo MongoDB document databases ... 1989 [OK]
mongo-express Web-based MongoDB admin int... 22 [OK]
mvertes/alpine-mongo light MongoDB container 19 [OK]
mongooseim/mongooseim-docker MongooseIM server the lates... 9 [OK]
torusware/speedus-mongo Always updated official Mon... 9 [OK]
jacksoncage/mongo Instant MongoDB sharded cluster 6 [OK]
mongoclient/mongoclient Official docker image for M... 4 [OK]
jadsonlourenco/mongo-rocks Percona Mongodb with Rocksd... 4 [OK]
asteris/apache-php-mongo Apache2.4 PHP Mongo m... 2 [OK]
19hz/mongo-container Mongodb replicaset for coreos 1 [OK]
nitra/mongo Mongo3 centos7 1 [OK]
ackee/mongo MongoDB with fixed Bluemix p... 1 [OK]
kobotoolbox/mongo https://github.com/kobotoolb... 1 [OK]
valtlfelipe/mongo Docker Image based on the la... 1 [OK]
2.取最新版的 MongoDB 镜像(修改latest为指定版本号)
代码语言:txt复制$ docker pull mongo:latest
3.查看本地镜像
代码语言:txt复制$ docker images
4.运行容器
代码语言:txt复制$ docker run -itd --name mongo-test -v /opt/data:/data/db -p 27017:27017 mongo --auth
-v /opt/data:/data/db :容器内的目录映射到本地,这样容器即使删除了数据也仍然在,/data/db为容器数据目录,/opt/data为宿主机文件夹,这样配置后,即使停掉docker或者rm调docker再启动,数据依然存在。
5.接着使用以下命令添加用户和设置密码,并且尝试连接。
代码语言:txt复制$ docker exec -it mongo-test mongo admin
# 创建一个名为 admin,密码为 123456 的用户。
> db.createUser({ user:'admin',pwd:'P6ss123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', 'P6s123456')
6.修改密码
代码语言:txt复制use admin;
switched to db admin
> db.changeUserPassword('admin','P6s123456');