1、拉取 mongodb 镜像
docker pull mongo
2、启动一个 mongodb 的容器,通过副本集的形式运行
docker run --name mongoRs -d -p 27017:27017 mongo --replSet rs0
--name
创建容器的名称。 自定义
-d
以守护进程方式启动容器
-p
2701:27017:MongoDB 的默认端口号为 27017,这个参数是将宿主机的端口映射到当前 mongo 容器的端口,这样,就能通过网络访问容器的数据库服务了
mongo
使用哪一个镜像创建容器。完整的写法是 image:tag。由于下载 mongo 镜像时没有指定 tag,也就是使用的默认的 tag,这里也就不用指定
处。
3、进入容器的 mongosh
, 执行副本集初始化
docker exec -it mongoRs mongosh
mongoRs 为刚刚我们创建的容器名称
进入到 mongosh 后执行 rs.initiate()
因为只有一个节点,默认会被选为主节点。
查看副本集状态
rs.status()
查看副本集配置
rs.conf()
追加副本集成员
rs.add({host:'xxxx:27017',priority:0})
// priority, 0-255 数值越高,越能成为主节点
或者通过重新配置副本集,也可以追加副本集成员。
docker 停止一个容器
docker stop mongoRs
stop:容器名称