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账号登录

posted @   飞翔的小鸟er  阅读(304)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示