--restart-flaget for Docker-containere bruges til at definere containerens genstartspolitik. De to muligheder, --restart=unless-stopped og --restart=altid, har nogle subtile, men vigtige forskelle:
--restart=altid:
- Beholderen vil altid prøve at genstarte, uanset hvordan den stoppede.
- Hvis containeren crasher, genstarter den automatisk.
- Hvis Docker-daemonen genstartes, vil containeren også starte automatisk.
- Selv hvis containeren stoppes manuelt (altså ved at bruge docker stop-kommandoen), genstarter den, når Docker-daemonen genstarter.
--restart=umedmindre-stoppet:
- Containeren genstarter automatisk, når den crasher.
- Hvis Docker-daemonen genstartes, vil containeren også starte automatisk.
- Vigtig forskel: Hvis en container manuelt stoppes (f.eks. ved brug af docker stop-kommandoen), starter den ikke automatisk, når Docker-dæmonen genstarter.
Resumé af de vigtigste forskelle:
Always-politikken forsøger at genstarte containeren i alle tilfælde, også efter et manuelt stop. Uafbrudt strategiRespekter beslutningen om at stoppe manuelt, som ikke automatisk genstarter beholderen efter et manuelt stop.
Anbefalinger til udvælgelse:
Hvis du vil have, at containeren skal køre hele tiden, uanset hvad der sker, så vælg altid. Hvis du vil kunne stoppe containeren manuelt og holde den stoppet, selv efter en Docker-genstart, så vælg unless-stoped. Dette valg er vigtigt for håndtering og vedligeholdelse af containere, især når visse tjenester midlertidigt skal stoppes eller vedligeholdes. unless-stopped anses generelt for at være en mere fleksibel mulighed, da det giver administratorer mulighed for manuelt at kontrollere containerens tilstand, når det er nødvendigt.
|