Запуск нескольких приложений в одном Docker контейнере с возможностью авторестарта при падении

Есть ли возможность запускать несколько независимых скриптов в одном контейнере так, чтобы в случае поломки одного из них, скрипт перезапускался? Грубо говоря условие restart: always на каждый скрипт в контейнере. Почему не хочу запускать несколько контейнеров? Ресурсы ограничены, а скриптов много и все достаточно простые. При этом важна их бесперебойная работа. Вроде можно сделать перезапуск через крон, такой вариант тоже подходит, но в идеале решение с докером.


Ответы (1 шт):

Автор решения: ASTyurin

Добавить в скрипт цикл, который по error code основного скрипта будет либо завершаться либо перезапускаться, пока код ошибки не станет равным 0. Пример цикла для определния error code:

if [ $? -eq 0 ]
then
  echo "true"
  exit 0
else
  echo "false"
  exit 1
fi
→ Ссылка