Om alle gerelateerde containers correct bij te werken, is het belangrijk om te begrijpen hoe Docker Compose werkt met meerdere YAML-bestanden en welke services daarin gedefinieerd zijn.Je start je stack momenteel met:
docker compose -f compose.database.yml -f compose.yml up -d
Dit betekent dat alleen de services gedefinieerd in compose.database.yml en compose.yml worden beheerd door deze specifieke commando-uitvoering. Als je andere bestanden (zoals compose.freeswitch.yml, compose.traefik.yml, etc.) gebruikt om extra services toe te voegen, moeten die ook expliciet worden opgenomen in je commando als je die wilt updaten.
Bepaal welke bestanden nodig zijn Je moet weten welke bestanden de services bevatten die je wilt updaten. Als Dockhand aangeeft dat er updates zijn voor containers die bij Rocket.Chat horen, is het waarschijnlijk dat meerdere bestanden betrokken zijn.
Gebruik één commando met alle relevante bestanden Voer docker compose pull uit met alle YAML-bestanden die de te updaten services bevatten:
docker compose -f compose.database.yml -f compose.yml -f compose.freeswitch.yml -f compose.traefik.yml -f compose.drachtio.yml -f compose.monitoring.yml -f compose.freeswitch.external.yml pull
Vervolgens start je de services opnieuw:
docker compose -f compose.database.yml -f compose.yml -f compose.freeswitch.yml -f compose.traefik.yml -f compose.drachtio.yml -f compose.monitoring.yml -f compose.freeswitch.external.yml up -d
Alternatief: Gebruik een hoofdbestand Als je vaak met meerdere bestanden werkt, kun je overwegen een hoofdbestand (bijv. docker-compose.full.yml) te maken dat alle andere bestanden importeert via include: of extends:. Dan hoef je maar één bestand op te geven:
docker compose -f docker-compose.full.yml pull docker compose -f docker-compose.full.yml up -d
Ja, om zeker te weten welke bestanden nodig zijn, moet je weten welke services in elk bestand staan. Je kunt dit controleren met:
docker compose -f <bestand>.yml config --services
Dit toont alle services die in dat bestand gedefinieerd zijn. Door dit voor elk bestand te doen, krijg je een compleet overzicht.
docker compose pull update alleen de images van de services die in de opgegeven bestanden staan. Om alle gerelateerde containers te updaten, moet je alle YAML-bestanden opnemen die de benodigde services bevatten. Een handige workaround is het samenvoegen van bestanden in één configuratie voor eenvoudiger beheer.
Laat me weten als je hulp nodig hebt bij het analyseren van de inhoud van je YAML-bestanden!