Detectar docker caído y reiniciar sistema

Buenas , hace un tiempo tenia un problema con un docker de mosquitto que cuando le apetecía el muy cabrito se paraba y no había forma de levantarlo , alguno me dirá , haber usado restart: always en el docker compose , pero ya estaba así configurado y no había forma , la unica forma era reiniciar el sistema , cuando se paraba caia por cascada toda la domótica de casa con el Home Assistant influxdb , etc ….

Como el tiempo de reinicio del sistema y los 40 dockers era de menos de 20 segundos opte por una solución a la brava , comprobarlo cada X tiempo y si estaba caído reiniciar el sistema.

Crearemos un fichero sh , yo lo he llamado control_dockers.sh que contendra

Basicamente busca si el docker esta activo , en este caso un lamp , y si no lo esta reiniciamos dejando siempre un log para poder ver que esta ocurriendo

Añadiremos la tarea a Cron con crontab -e

Aquí esta puesto para que se ejecute cada 30 minutos , a la :00 y a las :30 , pero podéis poner la frecuencia que deseéis

El problema con el mosquitto se soluciono con la ultima version estable del docker , ahora lo tengo funcionando con un lamp por si acaso