# 创建mongo数据文件挂载本地路径
mkdir -p /data/mongo-test
# 启动一个mongo服务
docker run --name mongo-test -p 37017:27017 -v /data/mongo-test/:/data/db/ -d mongo:4.0.6 --bind_ip_all
# 进入mongo容器
docker exec -it mongo-test bash
# 连接mongo,此处是27017,不是37017
:/# mongo --port 27017
# 切换到admin库
> use admin
# 创建用户
> db.createUser(
{
user: "tom",
pwd: "jerry",
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
}
)
# 停掉服务
> db.adminCommand( { shutdown: 1 } )
# 退出mongo容器
> exit
# 删除docker容器
docker stop mongo-test && docker rm mongo-test
# 以auth的方式重新启动
docker run --name mongo-test -p 37017:27017 -v /data/mongo-test/:/data/db/ -d mongo:4.0.6 --bind_ip_all --auth
注:整个流程就是先创建一个带用户的data文件,重新启动时带auth带用户即可。