1.版本选取
这里选取最新版本进行安装,若是想安装其余的可用版本,可使用命令“docker search mongo”来查看
2.拉取最新版本镜像
这里执行命令"sudo docker pull mongo:latest" 拉取最新版的mongodb镜像文件
等待镜像拉取完成后,经过命令"sudo docker images"查看下拉取的镜像,能够看到,已经成功拉取到了本地
3.开始运行
建立一个文件夹,用做mongodb的数据目录挂载
运行启动命令“docker run -p 27017:27017 -v /data/mongo:/data/db --name mongodb -d mongo”
在上面的命令中,几个命令参数的详细解释以下:
-p 映射容器服务的 27017 端口到宿主机的 27017 端口。外部能够直接经过 宿主机 ip:27017 访问到 mongo 的服务
-v 为设置容器的挂载目录,这里是将本机的“/data/mongo”目录挂载到容器中的/data/db中,做为 mongodb 的存储目录
--name 为设置该容器的名称
-d 设置容器以守护进程方式运行
经过命令“docker ps”查看容器启动运行状况
能够看到mongo容器已经成功运行起来了
4.使用客户端工具Studio 3T链接mongo
5.建立mongo用户
能够看到一个空的mongo数据库,有一个不太完美的地方在于咱们的mongo没有任何帐户密码,在裸奔,下面咱们执行如下语句,建立一个管理员用户,
db.createUser({
user: 'admin',
pwd: 'Aa123456',
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
});
6.指定auth从新运行服务
建立完用户咱们就要从新启动mongo服务,而且指定auth
删除已经运行的mongo容器:docker rm -f mongodb
指定验证启动mongo容器:docker run -p 27017:27017 -v /data/mongo:/data/db --name mongodb -d mongo --auth
也就是在以前的启动命令后面加上 --auth:须要密码才能访问容器服务
此时强行访问,能够看到提示,没有受权
这里咱们在链接的地方指定一下帐户密码
再来查询,已经正确查询出来以前添加的用户信息
7.建立一个业务数据库和对应的读写帐户
use demo_db;
db.createUser({
user: 'dev',
pwd: 'Aa123456',
roles: [ { role: "readWrite", db: "demo_db" } ]
});
而后用这个dev帐号来登陆
