拉取官方最新镜像
$ docker pull mongo
运行容器
$ docker run -itd --name mongo -p 27017:27017 mongo --auth
参数说明:
-p 27017:27017
:映射容器服务的 27017 端口到宿主机的 27017 端口。这样外部可以直接通过宿主机 ip:27017 访问到 mongo 的服务。--auth
:需要认证才能访问mongo。
收尾设置
# 进入容器
$ docker exec -it mongo mongo admin
# 添加用户
> db.createUser({ user:'admin',pwd:'000000',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}, "readWriteAnyDatabase" ]});
# 尝试认证
> db.auth("admin","000000")
1
# 返回 1 即认证成功
现在可以使用NoSQL Manager for MongoDB或者Robo 3T等工具来管理数据库了(直接在环境所在系统里docker exec -it mongo mongo admin
然后认证也可以)