Orquestração de Contêineres Question #019e3a4f
Qual destas é uma política de reinicialização de contêiner válida?
Ao fazer login
Ao atualizar
Ao iniciar
Em caso de falha
Official Explanation / Community Explanations
Política de Reinicialização de Contêiner Válida
Uma política de reinicialização de contêiner válida no Docker é Em caso de falha. Esta política instrui o runtime do contêiner a reiniciar automaticamente o contêiner se ele sair com um código de saída diferente de zero, indicando uma falha. O Docker suporta várias políticas de reinicialização: no (padrão, nunca reiniciar), always (sempre reiniciar independentemente do status de saída), on-failure (reiniciar apenas em caso de falha) e unless-stopped (reiniciar a menos que seja explicitamente parado).
Como Funciona
Quando um contêiner é iniciado com --restart=on-failure, o Docker monitora o código de saída do processo principal. Se o processo sair com um código diferente de zero, o Docker tentará reiniciar o contêiner. As tentativas de reinicialização seguem uma estratégia de backoff exponencial para evitar reinicializações rápidas. Esta política é útil para serviços que podem falhar devido a erros transitórios, mas devem ser recuperados automaticamente.
Por que o Valor Correto está Certo
A política on-failure é explicitamente definida na documentação e na interface de linha de comando do Docker. É uma política de reinicialização padrão que pode ser definida através da flag --restart ao executar um contêiner ou na seção restart_policy de um arquivo Docker Compose. Ela garante que os contêineres sejam reiniciados apenas quando falham, não em saídas normais.
Por que os Valores Incorretos estão Errados
- Ao fazer login: Esta não é uma política de reinicialização do Docker. Pode ser confundida com serviços systemd que podem ser acionados no login do usuário, mas não tem significado na orquestração de contêineres.
- Ao atualizar: Esta não é uma política de reinicialização padrão. Embora os contêineres possam ser reiniciados durante atualizações (por exemplo, via atualizações contínuas em ferramentas de orquestração), não é uma política de reinicialização embutida no Docker.
- Ao iniciar: Esta não é uma política de reinicialização. Os contêineres do Docker são iniciados quando criados ou iniciados, mas a política de reinicialização determina o comportamento após a saída do contêiner, não no início inicial.
Em resumo, apenas on-failure é uma política de reinicialização de contêiner válida entre as opções fornecidas.