Jeśli Immich przestaje działać po aktualizacji ZimaOS, a dziennik serwera zawiera komunikat getaddrinfo EAI_AGAIN immich-postgres, bezpośrednią przyczyną jest rozwiązywanie nazw między kontenerami. Nie oznacza to, że wolumin z danymi PostgreSQL jest uszkodzony.
W pierwotnym wątku dotyczącym wersji 1.6.1 zmienione ścieżki magazynu spowodowały awarie kilku aplikacji, ale MariaDB, Plex i Nextcloud zaczęły ponownie działać po poprawieniu ich ścieżek. Immich zachowywał się inaczej: PostgreSQL działał prawidłowo, natomiast immich-server nie mógł rozpoznać nazwy hosta immich-postgres.
Odczytaj błąd Immich dosłownie
EAI_AGAIN oznacza tymczasowy błąd rozwiązywania nazw DNS. Serwer próbował połączyć się z bazą danych na hoście o nazwie immich-postgres, podczas gdy sam kontener bazy danych zgłaszał gotowość do przyjmowania połączeń.
Dlatego w pierwszej kolejności należy sprawdzić sieć Dockera i wykrywanie usług. Nie zaczynaj od usuwania bazy danych ani ponownego tworzenia biblioteki zdjęć.
Sprawdź, czy usługi Immich korzystają ze wspólnej sieci Compose
Przewodnik po sieciach Compose firmy Docker wyjaśnia, że usługi w tej samej sieci Compose mogą łączyć się ze sobą za pomocą nazwy usługi. Adresy IP kontenerów mogą zmieniać się po ich odtworzeniu, natomiast nazwa usługi pozostaje stała.
Sprawdź, czy immich-server, PostgreSQL i Redis są podłączone do właściwej wspólnej sieci oraz czy nazwa hosta bazy danych w Immich nadal odpowiada nazwie usługi Compose. Nie zastępuj nazwy hosta stałym adresem IP kontenera jako trwałym rozwiązaniem.
Potraktuj zmianę nazwy woluminu jako osobną kontrolę migracji
Aktualizacja zmieniła również niektóre nazwy magazynów, zastępując spacje znakami podkreślenia w środowisku tego użytkownika. Poprawienie tych ścieżek hosta było konieczne w przypadku innych aplikacji, dlatego sprawdź także każde dowiązanie montowania Immich, zwłaszcza ścieżki biblioteki, przesyłania i bazy danych.
Przewodnik konfiguracji magazynu Immich oraz przewodnik migracji danych aplikacji pomogą oddzielić problemy ze ścieżkami magazynu od problemów z siecią.
Odtwórz stos dopiero po utworzeniu kopii zapasowej konfiguracji
Po potwierdzeniu poprawności pliku Compose i ścieżek odtworzenie stosu Immich może zbudować właściwą sieć Dockera i wpisy DNS. Zachowaj wolumin bazy danych oraz ścieżki biblioteki Immich; nie używaj destrukcyjnego resetowania jako testu sieci.
W późniejszej wersji ZimaOS 1.7.1 wymieniono usprawnienia konfiguracji sieci Dockera i zgodności migracji aplikacji w informacjach o wydaniu wersji 1.7.1. To powód, aby wykonać aktualizację, ale dziennik zmian nie stwierdza konkretnie, że naprawiono dokładnie ten przypadek EAI_AGAIN w Immich.
Podsumowanie
Gdy PostgreSQL działa prawidłowo, ale Immich zgłasza EAI_AGAIN immich-postgres, najpierw sprawdź DNS nazw usług i wspólne sieci Dockera. Następnie osobno zweryfikuj każdą zmienioną ścieżkę woluminu hosta wprowadzoną podczas aktualizacji ZimaOS.
