Я только начал использовать докер. Мне удалось создать файл создания докера, который развертывает три компонента моего приложения с необходимым количеством репликаций на одном хосте.
Я хочу повторить то же самое с несколькими хостами сейчас.
У меня есть три процесса A [7 копий], B [1 копия], C [1 копия]
Я следовал руководству по созданию роя на веб-сайте докера, и мне удалось создать менеджера и подключить к нему двух рабочих.
Так что теперь, когда я запускаю свою команду
docker stack deploy --compose-file docker-compose.yml perf
Он порождает необходимое количество машин, но все они в самом менеджере.
В идеале я хотел бы, чтобы они порождали C и B в менеджере и добавляли копии A, распределенные между работником 1 и работником 2.
Вот мой докер - составьте файл
version: '3'
services:
A:
image: A:host
tty: true
volumes:
- LogFilesLocationFolder:/jmeter/log
- AntOutLogFolder:/antout
- ZipFilesLocationFolder:/zip
deploy:
replicas: 7
placement:
constraints: [node.role == worker]
networks:
- perfhost
B:
container_name: s1_perfSqlDB
restart: always
tty: true
image: mysql:5.5
environment:
MYSQL_ROOT_PASSWORD: ''
volumes:
- mysql:/var/lib/mysql
ports:
- "3306:3306"
deploy:
placement:
constraints: [node.role == manager]
networks:
- perfhost
C:
container_name: s1_scheduler
image: C:host
tty: true
volumes:
- LogFilesLocationFolder:/log
- ZipFilesLocationFolder:/zip
- AntOutLogFolder:/antout
networks:
- perfhost
deploy:
placement:
constraints: [node.role == manager]
ports:
- "7000:7000"
networks:
perfhost:
volumes:
mysql:
LogFilesLocationFolder:
ZipFilesLocationFolder:
AntOutLogFolder:
B) И если мне это удастся, как мне использовать тома для передачи данных между Conatiner для Service A и контейнером для Service B, если они находятся на разных хостах