第一,安装docker
https://hub.docker.com/?overlay=onboarding
第二,拉去mongo镜像
1 | docker pull mongo:latest 拉去镜像 |
第三 查看本地镜像
使用以下命令来查看是否已安装了 mongo:1
$ docker images
第四 运行容器
安装完成后,我们可以使用以下命令来运行一个 mongo 指定的容器mymongo:1
$ docker run -itd --name mymongo -p 27017:27017 mongo --auth
参数说明:
-p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。
–auth:需要密码才能访问容器服务。
第五 ,安装成功
最后我们可以通过 docker ps 命令查看容器的运行信息
第六 ,尝试创建一个admin 数据库进行链接
接着使用以下命令添加用户和设置密码,并且尝试连接。1
$ docker exec -it mymongo mongo admin
创建一个名为 admin,密码为 123456 的用户。1
> db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
尝试使用上面创建的用户信息进行连接。1
> db.auth('admin', '123456')
- 但是这样创建的mongo库 没有root权限 需要重新赋予它root权限 否则会报错:
1
not authorized on admin to execute command
解决方案:
授予角色:1
db.grantRolesToUser("userName", [ { role:"<role>", db: "<database>"} ])
取消角色:1
db.grantRolesToUser("userName", [ { role:"<role>", db:"<database>"} ])
第七 创建集合
1 | use admin |
1 | db.createCollection(name, options) |
1 | show collections |
第八 可视化工具查看
使用Robo 3T 也可以看见可视化的节目
connection中
address: 服务器ip地址
authentication :database为你刚才创建的数据库admin
username:admin 密码:123456