Como excluir container Docker e liberar recursos

No Docker, cada contêiner (também chamado de container) ocupa certo espaço em disco e recursos do sistema host. Assim, ao descartar contêineres que não são mais necessários, você libera valioso espaço de armazenamento e melhora o desempenho do seu ambiente de desenvolvimento.

Quando excluir um container Docker?

Um container Docker é uma unidade isolada e executável que contêm aplicações e as respectivas dependências. Em diversas situações, faz sentido excluir containers Docker para garantir que o seu ambiente de desenvolvimento permaneça eficiente, seguro e fácil de gerenciar.

É importante que você remova os contêineres após usá-los. Depois que um contêiner conclui sua missão ou o processo específico para o qual foi designado, não faz sentido mantê-lo no seu ambiente. A exclusão previne que contêineres inativos continuem a consumir recursos e a ocupar espaço desnecessariamente.

Também recomendamos que você exclua contêineres que não serão mais utilizados ou que deixaram de ser atualizados há algum tempo. Mantenha esse costume para minimizar riscos de segurança, já que contêineres mais antigos podem conter versões desatualizadas de softwares e outras vulnerabilidades.

Se você tem desconfianças sobre a segurança de um contêiner específico ou suspeita que ele esteja comprometido, recomendamos a imediata remoção do mesmo. A recomendação também é válida para contêineres que não podem ser iniciados devido a conflitos ou outros problemas.

Cloud Compute Engine da IONOS

Empresas de médio e grande porte optam pela nuvem da Alemanha. Serviços IaaS e PaaS são para campeões.

Seguro
Confiável
Flexível

Como excluir um container Docker?

Excluir um ou mais containers Docker é um processo simples. Siga as instruções apresentadas para remover contêineres desnecessários ou inativos do Docker host.

Passo 1: Listar IDs ou nomes de contêineres

Primeiramente, você precisa saber os IDs ou os nomes dos contêineres que deseja excluir. Use o comando a seguir para exibir uma lista de todos os contêineres do seu ambiente, tanto aqueles em execução quanto os inativos:

docker ps -a
bash

Passo 2: Excluir contêineres

Para excluir containers Docker, digite, no terminal, seus respectivos IDs ou nomes, separando-os por espaços. Comece, contudo, com o comando docker rm, como mostra o código abaixo:

docker rm container_id_or_name1 container_id_or_name2 
bash

Como excluir um container Docker no estado “exited”?

Para excluir automaticamente um contêiner no estado “exited” (parado), utilize a flag --rm ao iniciar o contêiner com o comando docker run. Ela fará com que o contêiner seja removido automaticamente, logo que for concluído. O código abaixo exemplifica:

docker run --rm image_name 
bash

Como excluir todos os containers Docker no estado “exited”?

Também é possível que você exclua todos os contêineres no estado “exited” de uma vez só. Para isso, configure um filtro baseado no estado e, posteriormente, execute a exclusão com o comando rm.

Passo 1: Listar contêineres no estado “exited”

Com a opção -f status=exited, você conseguirá adicionar um filtro à lista de contêineres, para que ela exiba somente aqueles que estão parados, ou seja, no estado “exited”. Observe:

docker ps -a -f status=exited
bash

Passo 2: Excluir contêineres no estado “exited”

No exemplo que elaboramos, usamos a lista gerada no passo anterior para obtermos os IDs de todos os contêineres no estado “exited”. Depois, os encaminhamos diretamente ao comando docker rm. Veja:

docker rm $(docker ps -a -f status=exited -q)
bash

Como excluir todos os containers Docker usando mais de um filtro?

Você pode remover containers Docker fazendo uso de mais de um filtro. Para tanto, basta executar o comando docker ps juntamente com as opções de filtro desejadas. Em seguida, é só encaminhar o resultado gerado ao comando docker rm.

Passo 1: Listar contêineres com filtro

No exemplo de código abaixo, executamos o comando docker ps com as opções de filtro desejadas, para a geração de uma lista de contêineres com os critérios estabelecidos. Além de “exited”, outro estado que pode ser verificado é “created”. Contêineres no estado “created” são contêineres já criados, mas ainda não executados.

docker ps -a -f status=exited -f status=created
bash

Passo 2: Excluir contêineres

Assim como fizemos no exemplo anterior, temos que encaminhar o resultado gerado ao comando docker rm, para a conclusão da exclusão. O exemplo de código ilustra:

docker rm $(docker ps -a -f status=exited -f status=created -q)
bash

Como excluir containers Docker que seguem um padrão?

Você também pode buscar por todos os containers Docker que seguem um mesmo padrão e exclui-los de uma vez só, fazendo uso dos comandos awk, xargs e docker rm. Essa prática é especialmente eficiente em se tratando de remoções seletivas de contêineres.

Passo 1: Listar todos os contêineres que seguem um padrão

Digite o comando docker ps -a juntamente com grep no terminal, para obter, como resultado, todos os contêineres cujos nomes ou tags apresentam um padrão específico. No exemplo abaixo, solicitamos que os contêineres cujos nomes começam com “teste-” fossem listados:

docker ps -a | grep "teste-"
bash

Passo 2: Excluir contêineres que seguem o padrão

Use o comando awk para selecionar colunas específicas de um resultado gerado. Em se tratando da remoção de contêineres, é interessante selecionar a primeira coluna do resultado, pois é ela que contém os IDs desejados. Para concluir o processo, faça uso do comando xargs para encaminhar os IDs ao comando docker rmi, que excluirá os containers Docker.

docker ps -a | grep "teste-" | awk '{print $1}' | xargs docker rmi
bash

Como parar e excluir todos os containers Docker?

Você pode parar e excluir todos os contêineres do sistema de uma só vez, sejam eles ativos ou inativos. A ação pode ser útil caso você deseje realizar uma limpeza total do seu ambiente Docker.

Passo 1: Listar todos os contêineres

Insira o comando a seguir para verificar a lista de contêineres:

docker ps -a
bash

Passo 2: Parar contêineres

Depois de solicitar a elaboração da lista, encaminhe os resultados apresentados ao comando docker stop. Ele fará com que todos os contêineres parem de imediato.

docker stop $(docker ps -a -q)
bash

Passo 3: Excluir contêineres

Assim que todos os contêineres estiverem parados, siga com o processo de remoção, utilizando, para tanto, o comando docker rm:

docker rm $(docker ps -a -q)
bash

Diferentemente de um container Docker comum, um volume de container Docker é um mecanismo que mantém os dados gerados e utilizados por contêineres, possibilitando que esses persistam e sejam trocados com o sistema host. Para aprender como excluir um volume Docker ou como excluir uma imagem Docker, acesse os artigos especializados do nosso Digital Guide.

Para melhorar a sua experiência, este site usa cookies. Ao acessar o nosso site, você concorda com nosso uso de cookies. Mais informações