Я пытаюсь создать Mon go ReplicaSet с 3-мя наборами реплик на каждом компьютере, используя Docker Swarm.
Пока что я создал Docker swarm, и с помощью docker stack deploy -c docker-compose.yml mono-prod
контейнер mon go успешно развертывает на менеджере 2 других работника.
на диспетчере : если я войду в контейнер с bash, я может успешно пропинговать 2 рабочих узла, используя имена сервисов в docker -compose.yml (ping mongos_monoprix_secondary1
). Я также могу подключить пн go к двум рабочим, используя, например, mongo --host mongos_monoprix_secondary1
.
На каждого рабочего : я могу пропинговать менеджера и другого работника. Но когда я пытаюсь подключиться к экземпляру mon go в диспетчере, используя mongo --host mongos_monoprix_primary
, я всегда получаю тайм-аут. (но я МОГУ подключиться к контейнеру mon go на другом работнике)
Кажется, это мешает мне создать мой ReplicaSet с первичным сервером на узле Manager.
Однако я можно создать ReplicaSet всего с 2 узлами, выбрав одного из рабочих в качестве основного, а другого в качестве вторичного - так как эти два прекрасно подключаются друг к другу.
Я что-то пропустил?
Вот мой docker -compose.yml
version: '3.5'
services:
mongos_monoprix_primary:
image: mongo
restart: always
entrypoint: [ "/usr/bin/mongod", "--bind_ip_all", "--replSet", "rs_mono_0" ]
volumes:
- ./data_primary:/data/db
networks:
- mono-mongo-cluster
deploy:
replicas: 1
placement:
constraints:
- node.labels.role == mono-db-primary
mongos_monoprix_secondary1:
image: mongo
restart: always
entrypoint: [ "/usr/bin/mongod", "--bind_ip_all", "--replSet", "rs_mono_0" ]
volumes:
- ./data_secondary1:/data/db
networks:
- mono-mongo-cluster
deploy:
replicas: 1
placement:
constraints:
- node.labels.role == mono-db-secondary1
mongos_monoprix_secondary2:
image: mongo
restart: always
entrypoint: [ "/usr/bin/mongod", "--bind_ip_all", "--replSet", "rs_mono_0" ]
volumes:
- ./data_secondary2:/data/db
networks:
- mono-mongo-cluster
deploy:
replicas: 1
placement:
constraints:
- node.labels.role == mono-db-secondary2
networks:
mono-mongo-cluster:
Дайте мне знать, если вам нужна дополнительная информация.