Перезапустите единственный вышедший контейнер в задаче ECS - PullRequest
0 голосов
/ 26 августа 2018

У меня есть контейнер, который является частью определения задачи ECS, который я пометил как essential=false, потому что, если этот контейнер выходит из строя, я не хочу, чтобы агент ECS удалял другойконтейнеры в задании.Создание контейнера как «несущественного» в моем случае привело к желаемому результату: этот контейнер падает, а другие контейнеры в задаче не удаляются или перезапускаются.

Однако я хочу, чтобы этот несущественный контейнер был перезапущен независимо.Есть ли какой-нибудь встроенный способ сделать это?По сути, если контейнер выходит, запустите docker start или docker restart для этого контейнера (что мы сейчас должны сделать вручную).До сих пор мне не повезло с документацией или исследованием консоли AWS.

1 Ответ

0 голосов
/ 03 сентября 2018

Docker предоставляет политику перезапуска , которая была бы полезна в вашем случае (--restart всегда), однако на основе этого потока ECS не поддерживает перезапуск существующих контейнеров.

Предлагаемый и принятый обходной путь:

ECS поддерживает этот вариант использования через концепцию «обслуживания». Службы работают, чтобы постоянно приводить реальность (известное состояние) в соответствие желаемое состояние, в том числе желаемое количество запущенных вами задач уточнить. Если задача, запущенная службой, останавливается, служба создаст новая задача заменить его. Услуги помогут вам управлять количеством Копии, которые вы хотите запустить, развернуть, привязать и отменить от балансировщики нагрузки, реагировать на проверки работоспособности балансировщика нагрузки и интегрировать с автоматическим масштабированием, чтобы ваш сервис мог автоматически увеличивать или уменьшать масштаб. Вы можете проверить документацию для более подробной информации.

...