docker运行mogodb
docker运行mongodb容器有两种:
1、不需要验证密码就能直接登录
2、验证密码才能登录(推荐)
不需要验证密码就能直接登录
docker run -itd --name mongo --restart=always -p 27017:27017 -v /docker/mongo/data:/data/db mongo:latest
验证密码才能登录(推荐)
docker run -itd --name mongo --restart=always -p 27017:27017 -v /docker/mongo/data:/data/db mongo:latest --auth
以admin身份进入mongo容器:
docker exec -it mongo mongosh admin
创建admin用户并设置密码:
db.createUser({ user:'admin',pwd:'123456',roles:[{ role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]})
验证admin用户是否创建成功:
db.auth('admin', '123456')
重启mongo容器:
docker restart mongo
遇到的问题:
在创建数据库后,没法删除,提示缺少认证信息
解决方法:
新建一个具有admin权限的root用户,然后用root用户登录即可
1、切换到admin数据库
docker exec -it mongo mongosh admin
use admin
db.auth('admin', '123456')
2、创建root用户
db.createUser(
{
user:"root",
pwd:"123456",
roles:[{role:"root",db:"admin"}]
}
);
3、退出mongo,使用root账号登录

浙公网安备 33010602011771号