--restart-flagget for Docker-containere brukes til å definere containerens omstartspolicy. De to alternativene, --restart=unminor-stopped og --restart=alltid, har noen subtile, men viktige forskjeller:
--restart=alltid:
- Beholderen vil alltid prøve å starte på nytt, uansett hvordan den stoppet.
- Hvis containeren krasjer, starter den automatisk på nytt.
- Hvis Docker-daimonen startes på nytt, vil containeren også starte automatisk.
- Selv om containeren stoppes manuelt (altså ved å bruke docker-stoppkommandoen), vil den starte på nytt når Docker-daemonen starter på nytt.
--restart=med mindre-stoppet:
- Containeren starter automatisk på nytt når den krasjer.
- Hvis Docker-daimonen startes på nytt, vil containeren også starte automatisk.
- Viktig forskjell: Hvis en container stoppes manuelt (f.eks. ved bruk av docker stop-kommandoen), vil den ikke starte automatisk når Docker-daemonen starter på nytt.
Oppsummering av hovedforskjellene:
Allways-policyen forsøker å starte containeren på nytt i alle tilfeller, også etter en manuell stopp. Strategi med mindre stoppetRespekter beslutningen om å stoppe manuelt, som ikke automatisk starter beholderen på nytt etter en manuell stopp.
Anbefalinger for utvelgelse:
Hvis du vil at beholderen skal gå hele tiden, uansett hva som skjer, velg alltid. Hvis du vil kunne stoppe containeren manuelt og holde den stoppet, selv etter en Docker-omstart, velg unless-stopped. Dette valget er viktig for å administrere og vedlikeholde containere, spesielt når visse tjenester må midlertidig stoppes eller vedlikeholdes. unless-stopped regnes generelt som et mer fleksibelt alternativ, da det lar administratorer manuelt kontrollere tilstanden til containeren når det er nødvendig.
|