我刚刚开始使用 docker 。我能够创建一个 docker compose 文件,该文件部署了我的应用程序的三个组件,在一个主机中具有必要数量的复制。我想复制同样的东西,现在有多个主机。我有三个进程 A[7 个副本],B [1 个副本],C [1 个副本] 我按照 docker 网站上的创建群教程,并设法创建了一个管理器并将两个工人附加到它。
所以现在当我运行我的命令时
docker stack deploy --compose-file docker-compose.yml perf
它确实产生了所需数量的机器,但它们都在管理器本身中。理想情况下,我希望他们在管理器中生成 C 和 B,并在工人 1 和工人 2 之间分配 A 的副本。
这是我的 docker -compose 文件
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)如果我确实让这个工作,我如何使用卷在服务 A 的 Conatiner 和服务 B 的容器之间传输数据,因为它们位于不同的主机上