docker compose restart

O comando docker compose restart é utilizado para reiniciar contêineres em execução que foram iniciados por um arquivo docker-compose.yml. Este comando é útil quando você precisa aplicar mudanças de configuração ou simplesmente reiniciar os serviços para garantir que estejam em um estado limpo.

Sintaxe

docker compose restart [OPÇÕES] [SERVIÇOS...]

Parâmetros

  • SERVIÇOS: (Opcional) Especifica quais serviços definidos no arquivo docker-compose.yml você deseja reiniciar. Se nenhum serviço for especificado, todos os serviços serão reiniciados.

Opções

  • -t, --timeout TIMEOUT: Define o tempo, em segundos, que o Docker aguardará antes de forçar o reinício dos contêineres. O padrão é 10 segundos. Isso permite que os contêineres realizem uma finalização adequada antes de serem reiniciados.

Exemplo de Uso

  1. Reiniciar Todos os Serviços: Para reiniciar todos os contêineres definidos no arquivo docker-compose.yml:

    docker compose restart
  2. Reiniciar um Serviço Específico: Para reiniciar um serviço específico, como o serviço web:

    docker compose restart web
  3. Definir um Timeout para o Reinício: Para reiniciar o serviço web com um timeout de 20 segundos antes de forçar o reinício:

    docker compose restart -t 20 web
  4. Reiniciar Múltiplos Serviços: Para reiniciar múltiplos serviços, como web e db:

    docker compose restart web db

Considerações

  • Timeout de Reinício: Utilizar a opção de timeout é importante em cenários onde seus contêineres precisam de um tempo adicional para finalizar processos em andamento antes de serem reiniciados. Isso pode prevenir corrupção de dados ou estados inconsistentes.

  • Impacto no Ambiente: Reiniciar contêineres pode impactar temporariamente a disponibilidade dos serviços, especialmente em ambientes de produção. Planeje o reinício cuidadosamente para minimizar o impacto.

  • Logs de Contêineres: Após o reinício, os logs dos contêineres podem ser acessados novamente para verificar se os serviços voltaram a funcionar corretamente. Use docker compose logs para isso.

  • Alternativa ao Restart Manual: Se um serviço precisar ser reiniciado frequentemente, considere revisar a configuração ou adicionar verificações de saúde (healthcheck) para automatizar a detecção de problemas e o reinício dos contêineres.

O docker compose restart é uma ferramenta poderosa para gerenciar o ciclo de vida dos serviços em contêineres, permitindo que você mantenha o controle sobre o estado dos seus serviços com facilidade.

Last updated