# 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](https://www.ionos.com/digitalguide/server/know-how/docker-container/ "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.

## 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:

```bash
docker ps -a
```

### 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:

```bash
docker rm container_id_or_name1 container_id_or_name2
```

## 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:

```bash
docker run --rm image_name
```

## 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:

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

### 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:

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

## 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.

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

### 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:

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

## 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:

```bash
docker ps -a | grep "teste-"
```

### 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.

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

## 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:

```bash
docker ps -a
```

### 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.

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

### 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`:

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

Diferentemente de um container Docker comum, um [volume de container Docker](https://www.ionos.com/digitalguide/server/know-how/docker-container-volumes/ "Volumes de containers 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](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/excluir-volume-docker/) ou [como excluir uma imagem Docker](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/excluir-imagem-docker/), acesse os artigos especializados do nosso Digital Guide.


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/excluir-container-docker/](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/excluir-container-docker/) for AI/LLM consumption.