No Docker, cada contêiner (também chamado de container) ocupa certo espaço em disco e recursos do sistema host. Assim, ao descartar con­têi­ne­res que não são mais ne­ces­sá­rios, você libera valioso espaço de ar­ma­ze­na­mento e melhora o de­sem­pe­nho do seu ambiente de de­sen­vol­vi­mento.

Quando excluir um container Docker?

Um container Docker é uma unidade isolada e exe­cu­tá­vel que contêm apli­ca­ções e as res­pec­ti­vas de­pen­dên­cias. Em diversas situações, faz sentido excluir con­tai­ners Docker para garantir que o seu ambiente de de­sen­vol­vi­mento permaneça eficiente, seguro e fácil de gerenciar.

É im­por­tante que você remova os con­têi­ne­res após usá-los. Depois que um contêiner conclui sua missão ou o processo es­pe­cí­fico para o qual foi designado, não faz sentido mantê-lo no seu ambiente. A exclusão previne que con­têi­ne­res inativos continuem a consumir recursos e a ocupar espaço des­ne­ces­sa­ri­a­mente.

Também re­co­men­da­mos que você exclua con­têi­ne­res que não serão mais uti­li­za­dos ou que deixaram de ser atu­a­li­za­dos há algum tempo. Mantenha esse costume para minimizar riscos de segurança, já que con­têi­ne­res mais antigos podem conter versões de­sa­tu­a­li­za­das de softwares e outras vul­ne­ra­bi­li­da­des.

Se você tem des­con­fi­an­ças sobre a segurança de um contêiner es­pe­cí­fico ou suspeita que ele esteja com­pro­me­tido, re­co­men­da­mos a imediata remoção do mesmo. A re­co­men­da­ção também é válida para con­têi­ne­res 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 con­tai­ners Docker é um processo simples. Siga as ins­tru­ções apre­sen­ta­das para remover con­têi­ne­res des­ne­ces­sá­rios ou inativos do Docker host.

Passo 1: Listar IDs ou nomes de con­têi­ne­res

Pri­mei­ra­mente, você precisa saber os IDs ou os nomes dos con­têi­ne­res que deseja excluir. Use o comando a seguir para exibir uma lista de todos os con­têi­ne­res do seu ambiente, tanto aqueles em execução quanto os inativos:

docker ps -a
bash

Passo 2: Excluir con­têi­ne­res

Para excluir con­tai­ners Docker, digite, no terminal, seus res­pec­ti­vos 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 au­to­ma­ti­ca­mente 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 au­to­ma­ti­ca­mente, logo que for concluído. O código abaixo exem­pli­fica:

docker run --rm image_name
bash

Como excluir todos os con­tai­ners Docker no estado “exited”?

Também é possível que você exclua todos os con­têi­ne­res no estado “exited” de uma vez só. Para isso, configure um filtro baseado no estado e, pos­te­ri­or­mente, execute a exclusão com o comando rm.

Passo 1: Listar con­têi­ne­res no estado “exited”

Com a opção -f status=exited, você con­se­guirá adicionar um filtro à lista de con­têi­ne­res, 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 con­têi­ne­res no estado “exited”

No exemplo que ela­bo­ra­mos, usamos a lista gerada no passo anterior para obtermos os IDs de todos os con­têi­ne­res no estado “exited”. Depois, os en­ca­mi­nha­mos di­re­ta­mente ao comando docker rm. Veja:

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

Como excluir todos os con­tai­ners Docker usando mais de um filtro?

Você pode remover con­tai­ners Docker fazendo uso de mais de um filtro. Para tanto, basta executar o comando docker ps jun­ta­mente com as opções de filtro desejadas. Em seguida, é só en­ca­mi­nhar o resultado gerado ao comando docker rm.

Passo 1: Listar con­têi­ne­res com filtro

No exemplo de código abaixo, exe­cu­ta­mos o comando docker ps com as opções de filtro desejadas, para a geração de uma lista de con­têi­ne­res com os critérios es­ta­be­le­ci­dos. Além de “exited”, outro estado que pode ser ve­ri­fi­cado é “created”. Con­têi­ne­res no estado “created” são con­têi­ne­res já criados, mas ainda não exe­cu­ta­dos.

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

Passo 2: Excluir con­têi­ne­res

Assim como fizemos no exemplo anterior, temos que en­ca­mi­nhar 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 con­tai­ners Docker que seguem um padrão?

Você também pode buscar por todos os con­tai­ners 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 é es­pe­ci­al­mente eficiente em se tratando de remoções seletivas de con­têi­ne­res.

Passo 1: Listar todos os con­têi­ne­res que seguem um padrão

Digite o comando docker ps -a jun­ta­mente com grep no terminal, para obter, como resultado, todos os con­têi­ne­res cujos nomes ou tags apre­sen­tam um padrão es­pe­cí­fico. No exemplo abaixo, so­li­ci­ta­mos que os con­têi­ne­res cujos nomes começam com “teste-” fossem listados:

docker ps -a | grep "teste-"
bash

Passo 2: Excluir con­têi­ne­res que seguem o padrão

Use o comando awk para se­le­ci­o­nar colunas es­pe­cí­fi­cas de um resultado gerado. Em se tratando da remoção de con­têi­ne­res, é in­te­res­sante se­le­ci­o­nar a primeira coluna do resultado, pois é ela que contém os IDs desejados. Para concluir o processo, faça uso do comando xargs para en­ca­mi­nhar os IDs ao comando docker rmi, que excluirá os con­tai­ners Docker.

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

Como parar e excluir todos os con­tai­ners Docker?

Você pode parar e excluir todos os con­têi­ne­res 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 con­têi­ne­res

Insira o comando a seguir para verificar a lista de con­têi­ne­res:

docker ps -a
bash

Passo 2: Parar con­têi­ne­res

Depois de solicitar a ela­bo­ra­ção da lista, encaminhe os re­sul­ta­dos apre­sen­ta­dos ao comando docker stop. Ele fará com que todos os con­têi­ne­res parem de imediato.

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

Passo 3: Excluir con­têi­ne­res

Assim que todos os con­têi­ne­res estiverem parados, siga com o processo de remoção, uti­li­zando, para tanto, o comando docker rm:

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

Di­fe­ren­te­mente de um container Docker comum, um volume de container Docker é um mecanismo que mantém os dados gerados e uti­li­za­dos por con­têi­ne­res, pos­si­bi­li­tando 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 es­pe­ci­a­li­za­dos do nosso Digital Guide.

Ir para o menu principal