Om Immich slutar fungera efter en ZimaOS-uppgradering och serverloggen visar getaddrinfo EAI_AGAIN immich-postgres, är det omedelbara felet namnupplösningen mellan containrarna. Det är inte ett tecken på att själva PostgreSQL-datavolymen är skadad.
I den ursprungliga tråden om version 1.6.1 orsakade namnbyten av lagringssökvägar problem för flera applikationer, men MariaDB, Plex och Nextcloud återhämtade sig efter att sökvägarna korrigerats. Immich var annorlunda: PostgreSQL fungerade, medan immich-server inte kunde slå upp värdnamnet immich-postgres.
Tolka Immich-felet bokstavligt
EAI_AGAIN är ett tillfälligt fel vid DNS-upplösning. Servern försökte nå en databasvärd med namnet immich-postgres, medan databaskontainern själv rapporterade att den var redo att ta emot anslutningar.
Det innebär att Docker-nätverk och tjänsteupptäckt är det första lagret som bör kontrolleras. Börja inte med att radera databasen eller återskapa fotobiblioteket.
Kontrollera att Immich-tjänsterna delar ett Compose-nätverk
Dockers guide till Compose-nätverk förklarar att tjänster på samma Compose-nätverk kan nå varandra via tjänstenamnet. Container-IP-adresser kan ändras när containrar återskapas, medan tjänstenamnet förblir stabilt.
Kontrollera att immich-server, PostgreSQL och Redis är anslutna till det avsedda gemensamma nätverket och att databasvärdnamnet i Immich fortfarande motsvarar Compose-tjänstens namn. Undvik att ersätta värdnamnet med en fast container-IP som permanent lösning.
Behandla namnbytet av volymer som en separat migreringskontroll
Uppgraderingen ändrade också vissa lagringsnamn genom att ersätta blanksteg med understreck i användarens miljö. Att korrigera dessa värdsökvägar var nödvändigt för andra appar, så gå även igenom alla Immich-bindmonteringar, särskilt sökvägarna för bibliotek, uppladdningar och databasen.
guiden för Immich-lagringssökvägar och guiden för migrering av appdata kan hjälpa dig att skilja lagringssökvägsproblem från nätverksproblem.
Återskapa stacken först efter att konfigurationen har säkerhetskopierats
När du har bekräftat Compose-filen och sökvägarna kan en återskapning av Immich-stacken bygga om det avsedda Docker-nätverket och DNS-posterna. Bevara databasvolymen och Immichs bibliotekssökvägar; använd inte en destruktiv återställning som nätverkstest.
ZimaOS 1.7.1 listade senare förbättringar av Docker-nätverkskonfiguration och kompatibilitet vid appmigrering i sina versionsanteckningar för 1.7.1. Det är ett skäl att uppdatera, men ändringsloggen hävdar inte specifikt att just detta Immich-fall med EAI_AGAIN har åtgärdats.
Sammanfattning
När PostgreSQL fungerar men Immich rapporterar EAI_AGAIN immich-postgres bör du först felsöka DNS för tjänstenamnet och delade Docker-nätverk. Kontrollera därefter separat alla namnbytta värdvolymsökvägar som infördes av ZimaOS-uppgraderingen.
