Я ищу способ увеличить docker -компонентную службу и увидел опцию --scale, но не смог найти какой-либо метод для получения индекса и подсчета в каждом контейнере.
Вот упрощенный файл композиции:
version: '2.1'
services:
my_thing:
restart: always
build: .
entrypoint: /entry.sh
depends_on:
- database
database:
restart: always
image: postgres:12.1-alpine
...
Если бы я сделал docker-compose up my_thing --scale 5
в записи, я бы хотел видеть, какой я (от 1 до 5), и сколько всего экземпляров ( 5 в этом примере).
Мне это нужно, так как API 'my_thing' соединяется с необходимостью этой информации для делегирования событий каждому экземпляру.
Например, моя запись может быть
echo "Hello I'm container $index of $count";
& затем, когда я запускаю docker-compose up my_thing --scale 5
(обратите внимание, что я бы предпочел не жестко кодировать счет)
Тогда каждый контейнер будет соответственно выполнять ввод и вывод:
Hello I'm container 1 of 5
Hello I'm container 2 of 5
Hello I'm container 3 of 5
... and so on
Если произошел сбой какого-либо контейнера, я бы хотел, чтобы он перезапустился, зная, что его индекс.
Возможно ли это, или мне нужно найти какую-то альтернативу или создать свой собственный инструмент?
Редактировать: Если есть какой-нибудь пример того, как сделать что-то подобное с docker роем, то ма Тоже помогу.