docker入门-mongodb设置密码进行远程连接

835 阅读1分钟

按照容器数据卷的方式进行操作:

  1. 将原有的数据卷文件删除.

image.png 2. 重新创建 新的容器 增加 --auth

  • --auth:需要密码才能访问容器服务。 docker run --name jevy_mongo -p 27017:27017 -v /home/mongo/jevy_mongo:/data/db -d mongo:4.4.10 --auth 使用用户名的方式进行操作

用Windows也是可以链接的,不过不能进行操作 2.1 测试新建数据库

image.png 2.2 测试创建用户

image.png

  1. 在容器中 mongodb中设置用户名和密码 `

docker exec -it jevy_mongo mongo admin

db.createUser({ user:'admin',pwd:'jiewei',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]}); ` image.png

4.现 服务器中设置好 的用户名和密码 重启容器生效

image.png 5. 使用Windows进行远程连接 登录方式

// 方式一
mongo
use admin
db.auth('admin', 'jiewei')

代码 `

PS C:\Users\y'r> mongo ip地址
MongoDB shell version v4.4.10
connecting to: mongodb://47.106.188.124:27017/test?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("0a558672-6589-49ea-810c-780b45f1f729") }
MongoDB server version: 4.4.10
> use admin
switched to db admin
> db.auth('admin','jiewei')
1
> use US_AMZ;
switched to db US_AMZ
> db.week_2022_aba.insert({'name':'jiewei'});
WriteResult({ "nInserted" : 1 })
>
>

image.png 成功插入数据 6. 使用用户名和密码的方式登录

MongoDB shell version v4.4.10
connecting to: mongodb://47.106.188.124:27017/test?authSource=admin&compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("389ef728-f81a-4533-ad2b-c94e906db5b8") }
MongoDB server version: 4.4.10
>
> show dbs;
US_AMZ  0.000GB
admin   0.000GB
config  0.000GB
local   0.000GB
>

image.png