Det går att köra två instanser av samma program på Docker Compose-nivå, men att bara ändra namnet på huvudcontainern och webbporten räcker inte för en stack med flera tjänster, till exempel Immich.
Använd ett separat Compose-projekt för varje instans
Dockers Docker Compose-projektnamn är utformade för att isolera flera miljöer som annars skulle kunna dela tjänstenamn. Ge varje instans ett unikt projektnamn i stället för att i första hand förlita dig på manuellt omdöpta containrar som isoleringsmekanism.
Den första Docker-appen förklarar Compose-lagret i ZimaOS, medan Portainer i ZimaOS kan hjälpa avancerade användare att inspektera separata stackar.
Immich är en stack, inte en enda container
Den aktuella Docker Compose-konfigurationen för Immich använder flera tjänster och separerar uppladdningslagring från databasalagring. En andra Immich-instans behöver därför egna databasedata, en egen sökväg för uppladdningar, cache- och modelldata där det är tillämpligt samt egna värdportar som annars skulle krocka.
Det här måste vara unikt
- Compose-projektnamn: isolerar namnrymder för tjänster, nätverk och volymer.
- Publicerade värdportar: två instanser kan inte binda till samma värdport.
- Beständiga mappar/volymer: peka inte med oberoende databaser eller uppladdningsbibliotek på samma skrivbara datakatalog.
- Miljöreferenser: se till att varje stack är internt konsekvent.
Migrering av Immich-lagring är användbar för att förstå vilka Immich-sökvägar som är beständiga och varför de inte bör delas utan vidare mellan installationer.
Undvik hårdkodat container_name om du inte behöver det
Compose kan normalt generera namn utifrån projekt- och tjänstenamnen. Ett hårdkodat container_name ökar risken för globala namnkonflikter och gör duplicerade stackar mer sköra.
Sammanfattning
Den korrekta tankemodellen är ”två isolerade Compose-projekt”, inte ”samma app med två omdöpta containrar”. För Immich ska du isolera varje tjänsts beständiga tillstånd och alla publicerade portar. Delat tillstånd kan göra att den andra stacken misslyckas eller stör den första.
