1.下载镜像
docker pull mongo:latest
2.运营docker
docker run --name mongo -p 27017:27017 --auth
或者启动命令
docker run -itd --name mongo -p 27017:27017 mongo --auth
也可以省略第一步直接
docker run --name mongo -p 27017:27017 -d mongo:latest --auth
参数说明:
--name 运行的容器命名(唯一名字)
-p 容器服务的 27017 端口到宿主机的 27017 端口
--auth 开启权限模式,需要输入验证密码
-d 镜像名称:版本
-itd:
-i:以交互模式运行容器,通常与-t同时使用
-d:后台运行容器,并返回容器ID,也即启动守护式容器
-t:为容器重新分配一个伪输入终端,通常与-i同时使用
组合命令,-id -it -itd
3.初始化后没有用户和密码,初始化用户和密码
版本<=5.0
docker exec -it mongo mongo admin
版本>=5.0
docker exec -it mongo mongosh admin
4.创建名称为root 密码为123456的用户
db.createUser({ user:'root',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
5.验证是否创建成功
db.auth('root', '123456');
权限注解
6.退出
exit
7.创建普通库过程
1.登入
mongo -u 用户名 -p 密码 --port 端口号 --host ip 数据库名
mongo --port 27017 -u admin -p 123456 --authenticationDatabase admin
或者
mongo --port 27017 -u root -p 123456 --authenticationDatabase admin
上面命令可能会因为本地无mongo客户端需要安装并配置环境变量,因为是本地安装使用下面直接进入
docker exec -it mongo mongosh admin
2.创建数据库test,当在这个数据库写入数据的时候,这个数据库就出现了。
use test
3.创建普通用户
db.createUser({user: "test",pwd: "123456",roles: [{ role: "readWrite", db: "test" }]});
4.选择test库
use test
5.验证是否创建成功 返回1成功 0失败
db.auth('test','123456')