Il flag --restart per i container Docker viene utilizzato per definire la policy di riavvio del container. Le due opzioni, --restart=un-un-stop' e --restart=always, presentano alcune differenze sottili ma importanti:
--riavvio=sempre:
- Il contenitore cercherà sempre di riavviarsi, indipendentemente da come si sia fermato.
- Se il container va in crash, si riavvia automaticamente.
- Se il daemon Docker viene riavviato, anche il container si avvierà automaticamente.
- Anche se il container viene fermato manualmente (ad esempio usando il comando docker stop), si riavvierà quando il daemon Docker si riavvia.
--riavvio=a meno che non si fermi:
- Il container si riavvia automaticamente quando va in crash.
- Se il daemon Docker viene riavviato, anche il container si avvierà automaticamente.
- Differenza chiave: se un container viene fermato manualmente (ad esempio, usando il comando docker stop), non si avvierà automaticamente quando il daemon Docker si riavvia.
Riassunto delle principali differenze:
La politica always tenta di riavviare il contenitore in tutti i casi, incluso dopo una fermata manuale. Strategia a meno che non si fermiRispetta la decisione di fermarti manualmente, che non riavvia automaticamente il contenitore dopo una fermata manuale.
Raccomandazioni per la selezione:
Se vuoi che il container funzioni sempre, qualunque cosa accada, scegli sempre. Se vuoi poter fermare manualmente il container e tenerlo fermo, anche dopo un riavvio Docker, seleziona unly-stopped. Questa scelta è importante per la gestione e la manutenzione dei container, specialmente quando alcuni servizi devono essere temporaneamente interrotti o mantenuti. Unless-Stopped è generalmente considerato un'opzione più flessibile, poiché consente agli amministratori di controllare manualmente lo stato del container quando necessario.
|