docker安装mongo
1.查看镜像
docker search mongo
2.拉取的镜像
docker pull mongo:latest
3.查看下拉取的镜像
docker images
4.运行启动命令,并且指定auth
docker run -p 27017:27017 -v /data/docker/mongo:/data/db --name mongodb -d mongo --auth
参数解释:
-p 映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务
-v 为设置容器的挂载目录,这里是将本机的“/data/mongo”目录挂载到容器中的/data/db中,作为 mongodb 的存储目录
--name 为设置该容器的名称
-d 设置容器以守护进程方式运行
--auth 需要密码才能访问容器服务。
5.查看容器启动运行情况
docker ps
6.添加用户和设置密码,并且尝试连接。
docker exec -it mongodb mongo admin
7.创建账户并连接
- 创建一个名为 root,密码为 root的用户。
 
db.createUser({ user:'root',pwd:'root',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
- 尝试使用上面创建的用户信息进行连接。返回1表示认证成功
 
db.auth('root', 'root')
- 认证成功后,查看存储一些用户信息
 
db.auth('root','root')
返回信息
admin 0.000GB
config 0.000GB
local 0.000GB
8.创建一个业务数据库和对应的读写账户
use demo_db;
db.createUser({
user: 'beita',
pwd: 'beita',
roles: [ { role: "readWrite", db: "db_user" } ]
});
然后用这个dev账号来登录
注意事项
1.数据库和用户是绑定的,光创建一个超级用户并不能操作在其他新建的数据库中插入数据
2.在切换数据库时,先切换认证用户,不然会出现too many users are authenticated的错误。

                
            
        
浙公网安备 33010602011771号