Команда docker-compose scale
устарела, и в документах предлагается использовать docker-compose up --scale SERVICE=NUM
. Но вы должны быть осторожны при указании портов для масштабирования. Если вы попытаетесь поместить свои контейнеры в порт 80
пять раз, четыре из пяти выйдут из строя - порт будет уже занят. Но есть решение.
Я только что проверил этот подход, и он работал. Вот docker-compose.yml
я проверял:
version: '3.7'
services:
test_app:
image: <my_custom_image>
ports:
- 10000-10003:80
Затем я запустил его с docker-compose up --scale test_app=4
, и он развернул 4 экземпляра test_app
на четырех разных (но указанных заранее) портах: 10000
, 10001
, 10002
и 10003
.
Надеюсь, я ответил на ваш вопрос.