环境:
ubuntu16.04
docker:17.09ce
一、镜像下载
docker pull mongo
二、以权限形式,启动mongo
docker run -d --name mongo -p 27017:27017 \
--volume mongo-data:/data/db \
--volume mongo-conf:/data/configdb \
--restart=always \
--volume /etc/localtime:/etc/localtime \
mongo --auth
说明: --volume为本地和容器内做映射,--restart=always是自动重启,--auth是开启权限认证
卷所在位置:/var/lib/docker/volumes
三、创建用户,配置权限
进入容器,
docker exec -it xxx bash
进入容器后,按照1,2,3下的命令,分别执行操作:
//admin用户授权
1.
mongo
2.
use admin
3.
db.createUser(
{
user: 'admin',
pwd: 'admin',
roles: [
{ role: "userAdminAnyDatabase", db: "admin" }
]
}
)
4.
exit
//普通用户授权
1.
mongo localhost/admin -uadmin -padmin
2.
db.auth("admin","admin")
3.
use test-db;
4.
db.createUser(
{
user: "test",
pwd: "test123",
roles: [
{ role: "readWrite", db: "dianxin-db" }
]
}
)
四、连接测试
可以用robomongo工具来测试是否配置成功。