Я пытаюсь развернуть несколько зоопарков (каждый в своем собственном контейнере) с помощью Docker Swarm.
В конце концов я хочу использовать 3 зоопарка, но сейчас я просто пытаюсь заставить работать 2 экземпляра.
Мой текущий docker-compose.yml:
version: '3'
services:
zoo1:
image: zookeeper
restart: unless-stopped
hostname: zoo1
ports:
- 2181:2181
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=0.0.0.0:2888:3888;server.2=zoo2:2888:3888
volumes:
- ./full-stack/zoo1/data:/data
- ./full-stack/zoo1/datalog:/datalog
networks:
- kafka_network
zoo2:
image: zookeeper
restart: unless-stopped
hostname: zoo2
ports:
- 2182:2181
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zoo1:2888:3888;server.2=0.0.0.0:2888:3888
volumes:
- ./full-stack/zoo2/data:/data
- ./full-stack/zoo2/datalog:/datalog
networks:
- kafka_network
visualizer:
image: dockersamples/visualizer:stable
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
ports:
- "8080:8080"
deploy:
placement:
constraints: [node.role == manager]
networks:
kafka_network:
external:
name: kafkaNetwork
kafkaNetwork - это оверлейная сеть, которую я создал с помощью команды
docker network create -d overlay --attachable kafkaNetwork
Я нашел следующее сообщение на портале Docker https://forums.docker.com/t/cannot-get-zookeeper-to-work-running-in-docker-using-swarm-mode/27109/3, но не смог успешно заставить работать мои экземпляры zookeeper.