A flag --restart para contêineres Docker é usada para definir a política de reinício do container. As duas opções, --reiniciar=a menos que parasse e --reiniciar=sempre, têm algumas diferenças sutis, mas importantes:
--reiniciar=sempre:
- O contêiner sempre tenta reiniciar, não importa como tenha parado.
- Se o contêiner travar, ele reinicia automaticamente.
- Se o daemon do Docker for reiniciado, o container também iniciará automaticamente.
- Mesmo que o container seja parado manualmente (como usando o comando docker stop), ele reiniciará quando o daemon Docker reiniciar.
--reiniciar=a menos que parado:
- O contêiner reinicia automaticamente quando trava.
- Se o daemon do Docker for reiniciado, o container também iniciará automaticamente.
- Diferença importante: Se um container for parado manualmente (por exemplo, usando o comando docker stop), ele não iniciará automaticamente quando o daemon Docker for reiniciado.
Resumo das principais diferenças:
A política de sempre tenta reiniciar o contêiner em todos os casos, inclusive após uma parada manual. Estratégia A Menos Que ParemRespeite a decisão de parar manualmente, que não reinicia automaticamente o contêiner após uma parada manual.
Recomendações de seleção:
Se você quer que o container funcione o tempo todo, não importa o que aconteça, escolha sempre. Se quiser poder parar manualmente o container e mantê-lo parado, mesmo após um reinício do Docker, selecione unly-stopped. Essa escolha é importante para gerenciar e manter contêineres, especialmente quando certos serviços precisam ser temporariamente interrompidos ou mantidos. Unless-Stopped é geralmente considerado uma opção mais flexível, pois permite que administradores controlem manualmente o estado do contêiner quando necessário.
|