Mam nietypowy problem. Może ktoś się spotkał i zna rozwiązanie. Moja instalacja HA jest oparta na dockerach, na NAS Synology. Wersja 2023.2 HA zmieniała coś w bazie i nie mogłem używać tej natywnej, co jest w Synku, bo okazała się za stara. Synology do aktualizacji niektórych pakietów podchodzi w dziwny sposób. Niestety nie mając dobrej wersji, postawiłem najnowszą MarięDB na dockerze. Śmiga. Nawet bym powiedział, że jest mniejsze zużycie pamięci, ale to do obadania w dłuższym czasie. Ale dziś zauważyłem problem. Musiałem mieć jakiś pad z zasilaniem (choć jest UPS - może trwało to dłużej) i wszystkie dockery zostały ponownie wystartowanie. Jakoś 4 rano. Z tym że HA startując jeszcze nie zauważył startującej dopiero MariaDB. No i się nie podłączył skubaniutki. Najlepiej jakby samo połączenie do bazy odbyło się z pewnym opóźnieniem, ale to chyba niemożliwe do ustawienia? Wymuszenie restartu HA jak baza ruszy? Tylko jak to sprawdzić?
Masz Maria DB jako osobny Docker samo startujący czy uruchamiany z HA?
Osobno startujacy. U mnie wszystko startuje z dockera. Nie mam instalacji z supervisorem, wiec nie mam dodatków w tradycyjnym rozumieniu.
Używasz Portainer, Docker compose?
Dla Docker compose szukaj
Control startup
On startup, Compose does not wait until a container is “ready”, only until it’s running. This can cause issues if, for example you have a relational database system that needs to start its own services before being able to handle incoming connections.
The solution for detecting the ready state of a service is to use the condition
attribute with one of the following options:
service_started
service_healthy
. This specifies that a dependency is expected to be “healthy”, which is defined withhealthcheck
, before starting a dependent service.service_completed_successfully
. This specifies that a dependency is expected to run to successful completion before starting a dependent service.
Reference information
Konsola ssh
sudo systemctl edit docker.service
trzeba zajrzeć do dokumentacji