下载镜像
$ docker pull mongo
创建相关目录
$ mkdir -p /usr/mongo/data /usr/mongo/dump
运行镜像
$ docker run --restart=unless-stopped --name mongodb -v /usr/mongo/data:/data/db -v /usr/mongo/dump:/var/dump/ -p 27017:27017 -d mongo --auth
参数说明:
--auth必须带上,作用是开启授权访问,默认不开启,即不需要使用用户名和密码就可以访问数据库,开始授权之后需要为admin数据库创建用户和密码
创建数据库及用户
进入容器内部,为admin数据库创建用户和密码
$ docker exec -it mongodb /bin/bash
$ mongo
$ use admin
$ db.createUser({user:"root",pwd:"123456",roles:[{role:'root',db:'admin'}]})
以上即为admin数据库创建了账号root,密码是123456
创建新数据库及普通用户
$ use newdb1
给新的数据库添加用户,需要先切换到admin数据库下验证超级管理员才可以:
$ use admin
$ db.auth('root','123456')
$ use newdb1
$ db.createUser({user:"newuser1",pwd:"123456",roles:[{role:'readWrite',db:'newdb1'}]})
以上即为newdb1数据库创建了账号newuser1,密码是123456
使用最新版本的navicate12.1即可访问