Я хочу, чтобы несколько экземпляров / реплик одного и того же изображения.
Рассмотрим изображение workerA
, которое было построено.
docker build --tag=workerA .
Я обычно запускаю его с
docker run --net=host -p 18080:8080 -t -i workerA
Теперь я хочу запустить несколько копий этого Docker-контейнера. Я заглянул в документацию swarm и создал файл компоновки как
version: "3"
services:
web:
# replace username/repo:tag with your name and image details
image: workerA:latest
deploy:
replicas: 2
resources:
limits:
cpus: "0.5"
memory: 4G
restart_policy:
condition: on-failure
ports:
- "18080:8080"
network_mode: "host"
Обычно рабочий подключается к хост-серверу, получает данные и выполняет задачу, но сервер никогда не получает никакого запроса. Как я могу проверить, какие выходные данные моего терминала workerA
? Кажется, я могу создать реплики
$ docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
y0sf30vqaoj1 warokerASwarm_web replicated 2/2 workerA:latest *:18080->8080/tcp
но они, похоже, не находятся в одной сети и не преформуют так, как я привык, когда работает один экземпляр докера.