Gemenskapslösning

Immich EAI_AGAIN efter ZimaOS-uppgradering: Åtgärda Docker-DNS

After upgrading to ZimaOS 1.6.1, a user corrected renamed host volumes but Immich still failed with EAI_AGAIN while trying to resolve the immich-postgres service hostname.

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.

Tol­ka 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.