Existe algum comando que pode combinar o docker stop
e docker rm
comandar juntos? Cada vez que desejo excluir um contêiner em execução, preciso executar 2 comandos sequencialmente, me pergunto se existe um comando combinado que possa simplificar esse processo.
docker stop CONTAINER_ID
docker rm CONTATINER_ID
Respostas:
Você pode usar :
Ele removerá o contêiner, mesmo se ainda estiver em execução.
https://docs.docker.com/engine/reference/commandline/rm/
Você também pode executar seus contêineres com a
--rm
opção; ele será removido automaticamente quando parado.https://docs.docker.com/engine/reference/run/#clean-up-rm
Edit: A
rm -f
pode ser perigoso para os seus dados e é mais adequada para recipientes de teste ou de desenvolvimento. Vale a pena ler o comentário de @ Bernard sobre esse assunto.fonte
docker rm -f
envia um sinal SIGKILL para o contêiner. Isso pode não levar tempo para o contêiner salvar seu estado corretamente. Para contêineres não apátridas, deve-se realmente usardocker stop
seguido dedocker rm
. Isso envia um sinal SIGTERM que, por padrão, fornece aos contêineres um máximo de 10 segundos para executar seu desligamento antes que o daemon do docker finalmente envie um SIGKILL.fonte
Você pode parar e remover o contêiner com um único comando, dando
$_
o último ecofonte
No meu caso, para remover todos os contêineres em execução, usei
fonte
https://www.ctl.io/developers/blog/post/graceful-stopping-docker-containers/
Você pode usar kill, e também usando rm e o sinalizador de força, ele também usará kill.
fonte
Remova todos os recipientes:
docker ps -aq | xargs docker rm -f
fonte
sudo docker ps -aq | sudo xargs docker rm -f
Isso irá parar e remover todas as imagens, incluindo a execução de contêineres enquanto estivermos usando -f
fonte
Use o comando docker ps com o sinalizador -a para localizar o nome ou o ID dos contêineres que você deseja remover
Para remover: $ docker rm ID_or_Name ID_or_Name
Remova um contêiner ao sair:
Se você souber quando estiver criando um contêiner que não deseja mantê-lo por perto quando terminar, execute o docker run --rm para excluí-lo automaticamente quando ele sair.
Executar e remover:
docker run --rm image_name
Remova todos os contêineres encerrados:
Você pode localizar contêineres usando a janela de encaixe ps -a e filtrá-los por seu status: criado, reiniciado, executando, pausado ou encerrado. Para revisar a lista de contêineres encerrados, use o sinalizador -f para filtrar com base no status. Quando você verificar que deseja remover esses contêineres, use -q para passar os IDs para o comando docker rm.
Lista:
Remova os recipientes usando mais de um filtro :
Os filtros do Docker podem ser combinados repetindo o sinalizador do filtro com um valor adicional. Isso resulta em uma lista de contêineres que atendem a qualquer condição. Por exemplo, se você deseja excluir todos os contêineres marcados como Criado (um estado que pode resultar quando você executa um contêiner com um comando inválido) ou Exitado, pode usar dois filtros:
Pare e remova todos os recipientes:
fonte
Para remover um único recipiente
Para remover todos os recipientes
fonte
Para remover todos os contêineres parados
docker system prune
Para parar o contêiner
docker stop CONTAINER_ID
ativo , aguarde 10 segundos e ele chamadocker kill CONTAINER_ID
Ou então
docker kill CONTAINER_ID
, você pode parar imediatamente o contêinerfonte