docker compose kill
O comando docker compose kill
é utilizado para forçar a interrupção imediata de um ou mais containers gerenciados pelo Docker Compose. Diferente do comando stop
, que envia um sinal SIGTERM e aguarda que o container finalize suas tarefas, o kill
envia diretamente um sinal SIGKILL (ou outro sinal especificado), encerrando o container instantaneamente.
Uso Básico
SERVICE
: O nome do serviço ou serviços definidos nodocker-compose.yml
que você deseja encerrar. Se não for especificado, todos os containers serão interrompidos.
Principais Opções
-s, --signal string
: Especifica qual sinal enviar para os containers. O padrão éSIGKILL
, que força o encerramento imediato. Você pode especificar outros sinais comoSIGTERM
para um encerramento mais gracioso.
Exemplos de Uso
Forçar o encerramento de todos os containers:
Este comando enviará o sinal SIGKILL para todos os containers gerenciados pelo Docker Compose, forçando o encerramento imediato de todos eles.
Forçar o encerramento de um serviço específico:
Neste exemplo, apenas o container associado ao serviço
web
será encerrado.Enviar um sinal personalizado para um container:
Este comando enviará o sinal
SIGTERM
para o container associado ao serviçodb
, permitindo que ele finalize as operações atuais de maneira mais controlada antes de encerrar.
Casos de Uso Comuns
Encerramento Emergencial: Útil em situações em que um ou mais containers precisam ser encerrados imediatamente, por exemplo, em casos de mal funcionamento que não respondem a sinais normais de encerramento.
Testes de Resiliência: Durante testes de resiliência, o comando
kill
pode ser usado para simular falhas abruptas nos serviços e verificar como a aplicação se recupera.Manutenção e Atualizações: Pode ser usado para encerrar rapidamente containers antes de aplicar atualizações ou realizar manutenção que requer o desligamento completo de um serviço.
Considerações Finais
O comando docker compose kill
é uma ferramenta poderosa e deve ser usado com cuidado, pois força o encerramento imediato dos containers, sem permitir que eles realizem o encerramento adequado de tarefas. Isso pode levar à perda de dados não salvos ou estados inconsistentes. No entanto, em cenários onde é necessário um desligamento imediato, ele é extremamente eficaz.
Last updated