Последнее время очень много проблем доставляет Docker, где висят альтернативные базы данных. Время от времени отваливается контейнер, который нужно перезапустить для продолжения работы. Чтобы перезапустить контейнеры Docker, используйте две команды:
# docker stop $(docker ps -a -q)
# docker start $(docker ps -a -q)
Также можно создать bash скрипт, который сам мониторит работает Docker или нет и запускает его если получен сигнал об остановке работы. Создаём в папке root файл docker-check.sh с содержимым:
#!/bin/bash
while true; do #Начинаем бесконечный цикл
TSTMYSQL=` docker ps | grep Up` #Запрашиваем рабочие контейнеры
if [ "$TSTMYSQL" == "" ]; then #Проверяем статус, и если статус не "Up "
docker start $(docker ps -a -q) #запускаем докер
fi #заканчиваем проверку
sleep 30 #Замираем на 30 секунд
done #Начинаем все с начала
Запускаем под root'ом:
sh docker-check.sh
Перезагружаем сервер. Теперь скрипт автоматически чекает наш Docker на работоспособность и если Docker отключен включает его.
Комментарии ()