我将开始这个 MongoDB 副本集:
version: "3"
services:
mongo1:
image: mongo
ports:
- 27017:27017
command: mongod --replSet rs0
mongo2:
image: mongo
ports:
- 27018:27017
command: mongod --replSet rs0
mongo3:
image: mongo
ports:
- 27019:27017
command: mongod --replSet rs0
等待它们出现,然后通过终端访问Mongo shell:
docker exec -it mongo1 mongo
然后在Mongo shell中执行以下命令:
rs.initiate({"_id":"rs0","members":[{"_id":0,"host":"mongo1:27017"},{"_id":1,"host":"mongo2:27017"},{"_id":2,"host":"mongo3:27017"}]})
Mongo还允许使用mongo --eval "rs.initiate(..)"
,这可能会使事情更加容易。
我的问题是,在mongo1、mongo2和mongo3启动后,我该如何运行此命令?