Matar o contêiner em execução usando o sinal padrão
Na etapa anterior, executamos um contêiner que executou um comando e depois foi finalizado. Nesta etapa, executaremos um contêiner que permanece em execução e, em seguida, aprenderemos como pará-lo usando o sinal padrão.
Primeiro, vamos executar um contêiner que continuará em execução. Usaremos a imagem ubuntu novamente, mas desta vez executaremos um comando que aguarda indefinidamente.
docker run -d ubuntu sleep infinity
Vamos analisar o comando:
docker run: Comando para executar um novo contêiner.
-d: Esta flag executa o contêiner em modo detached (desacoplado), o que significa que ele é executado em segundo plano e não bloqueia seu terminal.
ubuntu: A imagem a ser usada.
sleep infinity: O comando a ser executado dentro do contêiner. sleep infinity é um comando que fará com que o contêiner seja executado indefinidamente.
Após executar este comando, o Docker imprimirá o ID do contêiner. Este contêiner agora está em execução em segundo plano.
Para ver os contêineres em execução, use o comando docker ps.
docker ps
Você deve ver uma entrada para o contêiner que acabou de iniciar, com o status "Up" (Ativo) seguido pela duração em que ele está em execução. Anote o CONTAINER ID ou NAMES deste contêiner, pois precisaremos dele para parar o contêiner.
Agora, vamos parar o contêiner em execução usando o comando docker kill. Por padrão, docker kill envia o sinal SIGKILL para o processo principal do contêiner. SIGKILL é um sinal que encerra imediatamente um processo e não pode ser capturado ou ignorado.
Substitua <container_id_or_name> pelo ID ou nome real do seu contêiner em execução, obtido na saída de docker ps.
docker kill <container_id_or_name>
Após executar este comando, o contêiner deve parar. Você pode verificar isso executando docker ps novamente. O contêiner não deve mais aparecer na lista de contêineres em execução.
Para ver o contêiner parado, você pode usar docker ps -a. Seu status agora deve ser "Exited" (Finalizado).