--restart-flaggan för Docker-containrar används för att definiera containerns omstartspolicy. De två alternativen, --restart=uneither-stopped och --restart=alltid, har några subtila men viktiga skillnader:
--restart=alltid:
- Behållaren kommer alltid att försöka starta om, oavsett hur den slutade.
- Om containern kraschar startar den automatiskt om.
- Om Docker-daimonen startas om startas containern också automatiskt.
- Även om containern stoppas manuellt (som att använda docker stop-kommandot) kommer den att starta om när Docker-daemonen startar om.
--restart=om inte-stoppad:
- Containern startar automatiskt om när den kraschar.
- Om Docker-daimonen startas om startas containern också automatiskt.
- Viktig skillnad: Om en container manuellt stoppas (t.ex. med docker stop-kommandot) startar den inte automatiskt när Docker-daemonen startar om.
Sammanfattning av de viktigaste skillnaderna:
Allways-policyn försöker starta om containern i alla fall, även efter ett manuellt stopp. Strategi om inte stoppadRespektera beslutet att sluta manuellt, som inte automatiskt startar containern om efter ett manuellt stopp.
Urvalsrekommendationer:
Om du vill att containern ska gå hela tiden, oavsett vad som händer, välj alltid. Om du vill kunna stoppa containern manuellt och hålla den stoppad, även efter en Docker-omstart, välj unlessed-stopped. Detta val är viktigt för att hantera och underhålla containrar, särskilt när vissa tjänster måste tillfälligt stoppas eller underhållas. Unless-Stopped anses generellt vara ett mer flexibelt alternativ, eftersom det gör det möjligt för administratörer att manuellt kontrollera containerns tillstånd vid behov.
|