介绍
本文将通过docker创建三个mongodb数据库容器,分别设置一个主数据库mongodb-master:27017, 两个从数据库mongodb-slave-1:27018, mongodb-slave-2:27019
1. 拉取mongo镜像
docker pull mongo:3.6
3.6版本是一个稳定的版本,可以选择安装此版本。
2. 创建并启动主数据库
- 容器数据卷配置
/docker/mongodb/master/data # 数据库数据目录(宿主机)
/docker/mongodb/master/dump # 备份数据目录(宿主机)
- 创建并运行容器
docker run --name mongodb-master -d -p 27017:27017 -v /docker/mongodb/master/data:/data/db -v /docker/mongodb/master/dump:/var/dump -d mongo:3.6 --auth
–auth 表示开启授权访问。默认不开启,即不需要用户名密码就可以连接数据库,这样会有安全风险,切记要开启。
开启授权访问之后,需数据库创建用户和密码。
- 进入容器,并连接容器
docker exec -it <container_id> /bin/bash
mongo # 此时不需要用户名
4. 创建用户
use admin
db.createUser({
user:"root",
pwd:"123456",
roles:[{
role:'root',
db:'admin'
}]
})
- 退出并连接该数据库,需输入密码
mongo 127.0.0.1/admin -u root -p
- 连接mongodb的url
未开启授权验证时
mongodb://127.0.0.1:27017
开启授权验证时
mongodb://user:pass@127.0.0.1:27017/dbname