De --restart vlag voor Docker-containers wordt gebruikt om het herstartbeleid van de container te definiëren. De twee opties, --restart=unten-gestopt en --restart=altijd, hebben enkele subtiele maar belangrijke verschillen:
--restart=altijd:
- De container zal altijd proberen opnieuw op te starten, ongeacht hoe hij stopte.
- Als de container crasht, start hij automatisch opnieuw op.
- Als de Docker-daemon wordt herstart, start de container ook automatisch.
- Zelfs als de container handmatig wordt gestopt (zoals met het docker stop-commando), wordt hij opnieuw opgesteld wanneer de Docker-daemon opnieuw opstart.
--restart=ontenzij-gestopt:
- De container start automatisch opnieuw op wanneer hij crasht.
- Als de Docker-daemon wordt herstart, start de container ook automatisch.
- Belangrijk verschil: Als een container handmatig wordt gestopt (bijvoorbeeld met het docker stop-commando), start deze niet automatisch wanneer de Docker-daemon opnieuw opstart.
Samenvatting van de belangrijkste verschillen:
Het Always-beleid probeert de container in alle gevallen opnieuw te starten, ook na een handmatige stop. Onbeperkte StrategieRespecteer de beslissing om handmatig te stoppen, die de container niet automatisch opnieuw start na een handmatige stop.
Selectieaanbevelingen:
Als je wilt dat de container altijd draait, wat er ook gebeurt, kies dan altijd. Als je de container handmatig wilt kunnen stoppen en gestopt wilt houden, zelfs na een herstart van Docker, selecteer dan unless-stoped. Deze keuze is belangrijk voor het beheren en onderhouden van containers, vooral wanneer bepaalde diensten tijdelijk moeten worden stopgezet of onderhouden. Unless-Stopped wordt over het algemeen als een flexibelere optie beschouwd, omdat het beheerders in staat stelt om de status van de container handmatig te controleren wanneer dat nodig is.
|