Ожидаемое поведение:
Мы хотим, чтобы Docker-контейнеры выполняли небольшие задания.Скажем, у нас есть десять контейнеров, и каждый просто спит в течение 5 секунд.Мы хотим, чтобы они продолжали быстро перезагружаться.Если у вас есть докер с 10 контейнерами, определенными таким образом, где каждый контейнер спит в течение 5 секунд и умирает.
some-worker1:
image: some-worker
build: ./some-worker
restart: always
Мы ожидаем, что эти контейнеры будут перезапущены сразу после смерти.
Наблюдаемое поведение:
Если вы запустите watch docker ps
, вы заметите, что время перезапуска медленно увеличивается.После запуска в течение нескольких минут контейнеры будут перезапущены только через минуту.И они будут последовательно перезагружаться через минуту.
Предположения:
Я полагаю, что механизм Docker или что-то еще, перезапускающее контейнеры, имеет некоторую политику относительно того, как быстро их перезапустить.Они начинают перезапускаться быстро, поэтому, возможно, какого-то ресурса становится мало, и докер должен замедлить скорость перезапуска или, как оптимизация замедляет скорость перезапуска, но устанавливает максимальное значение в минуту.