К сожалению, нет способа определить реплики для составления Docker. ЭТО ТОЛЬКО РАБОТАЕТ ДЛЯ DOCKER SWARM В документации указывается это ссылка
Совет: В качестве альтернативы, в Compose file version 3.x вы можете указатьреплики под ключом развертывания как часть конфигурации службы для режима Swarm. Ключ развертывания и его подопции (включая реплики) работают только с командой развертывания docker stack, а не с docker-compose up или docker-compose run.
Так что если у вас есть развертываниераздел в yaml, но запустите его с помощью docker-compose, тогда это не даст никакого эффекта.
version: "3.3"
services:
alpine1:
image: alpine
container_name: alpine1
command: ["/bin/sleep", "10000"]
deploy:
replicas: 4
alpine2:
image: alpine
container_name: alpine2
command: ["/bin/sleep", "10000"]
deploy:
replicas: 2
Таким образом, единственный способ масштабирования в docker compose - это запустить команду scale вручную.
docker-compose scale alpine1=3
Примечание У меня была работа, в которой они любили docker-compose, поэтому у нас были скрипты bash для выполнения операций, подобных тем, которые вы описали. Так, например, у нас будет что-то вроде ./controller-app.sh scale test_service=10
, и он будет запускаться docker-compose scale test_service=10
UPDATE Чтобы проверить количество реплик, вы можете смонтировать док-разъем в свой контейнер. Затем запустите docker ps --format {{ .Names }} | grep $YOUR_CONTAINER_NAME
.
Вот как вы бы смонтировали сокет.
docker run -v /var/run/docker.sock:/var/run/docker.sock -it alpine sh
Установить докер
apk update
apk add docker