1.docker安装mongodb,下面指令是安装最新的镜像文件
sudo docker pull mongo:latest
2.重启docker
systemctl restart docker
3.运行docker镜像文件,会生成整个id,也可以使用名称运行
docker run \
--name mongo \
-p 27017:27017 \
-v /mydata/mongodb/configdb:/data/configdb/ \
-v /mydata/mongodb/db/:/data/db/ \
-d mongo --auth
4.查看mongo是否启动
docker ps
5.进入容器中的mongo,设置连接的账号密码,最后一步返回 “1” 则表示成功(网上很多直接输入到5的第四步,都是创建失败的)
docker exec -it mongo /bin/bash
mongo;
use admin
db.createUser({ user: 'root', pwd: '333666...', roles: ["root"] })
db.auth("root","333666...")
6.经过5步骤以后连接和在可视化界面操作已经没问题了,但是,mongodb数据库之间都有独立的权限,得用子账号进行登录操作,不然授权会失败:code:18codeName:Authentication Failed
docker exec -it mongo /bin/bash
mongo;
use admin
db.auth("root","333666...")
show dbs
use xx你的mongodb数据库xx
db.createUser({user:"usertangtang",pwd:"333666...",roles:[{role:"dbOwner",db:"xx你的mongodb数据库xx"}]})
7.测试连接都使用子账户进行登录。
10.10.12.251:27017
hairunscp
tangtang
333666...