按照容器数据卷的方式进行操作:
- 将原有的数据卷文件删除.
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 测试新建数据库
2.2 测试创建用户
- 在容器中 mongodb中设置用户名和密码 `
docker exec -it jevy_mongo mongo admin
db.createUser({ user:'admin',pwd:'jiewei',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
`
4.现 服务器中设置好 的用户名和密码 重启容器生效
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 })
>
>
成功插入数据
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
>