Como remover uma rede Docker não utilizada

DockerBeginner
Pratique Agora

Introdução

Docker é uma poderosa plataforma de contentores que permite construir, implantar e gerir aplicações num ambiente consistente e escalável. Ao trabalhar com Docker, é importante manter uma configuração de rede limpa e eficiente. Este tutorial irá guiá-lo através do processo de identificação e remoção de redes Docker não utilizadas, ajudando-o a otimizar o seu ambiente Docker.

Compreendendo as Redes Docker

As redes Docker são um conceito fundamental no ecossistema Docker. Elas fornecem uma forma de conectar contêineres e permitir a comunicação entre eles. Docker suporta vários drivers de rede, cada um com seu próprio conjunto de recursos e casos de uso.

O driver de rede padrão no Docker é o driver bridge, que cria uma ponte virtual na máquina hospedeira e conecta os contêineres a ela. Isso permite que os contêineres se comuniquem entre si e com o sistema hospedeiro. Outros drivers de rede incluem overlay, host e macvlan, cada um com suas próprias vantagens e casos de uso.

graph LR A[Máquina Hospedeira] --> B[Rede Ponte Docker] B --> C[Contêiner 1] B --> D[Contêiner 2] B --> E[Contêiner 3]

O driver de rede overlay é usado para redes multi-hospedeiros, permitindo que contêineres em diferentes hosts Docker se comuniquem entre si. O driver de rede host remove o isolamento de rede entre o contêiner e o host, enquanto o driver macvlan permite que os contêineres recebam um endereço MAC, fazendo com que eles apareçam como dispositivos físicos na rede.

Compreender os diferentes drivers de rede e seus casos de uso é crucial ao trabalhar com Docker, pois permite escolher a configuração de rede mais adequada para sua aplicação.

Identificando e Listando Redes Docker Não Utilizadas

Para identificar e listar redes Docker não utilizadas, pode usar os seguintes comandos do Docker CLI:

Listando Todas as Redes Docker

Para listar todas as redes Docker no seu sistema, utilize o comando docker network ls:

docker network ls

Isto irá apresentar uma tabela com as seguintes colunas:

  • ID DA REDE
  • NOME
  • DRIVER
  • ÂMBITO

Identificando Redes Docker Não Utilizadas

Para identificar redes Docker não utilizadas, utilize o comando docker network ls com a opção -f (filtro):

docker network ls -f "dangling=true"

Isto irá listar todas as redes Docker que não estão a ser utilizadas por nenhum contêiner. O filtro dangling=true garante que apenas as redes sem quaisquer contêineres conectados são exibidas.

Alternativamente, pode usar o seguinte comando para listar todas as redes que não estão a ser utilizadas por quaisquer contêineres em execução:

docker network ls --filter "scope=local" --filter "driver=bridge" --filter "name=^((?!host|none|bridge).)*$" --format "{{.ID}}\t{{.Name}}\t{{.Driver}}"

Este comando filtra a lista de redes para mostrar apenas as redes locais baseadas em bridge que não são as redes padrão host, none ou bridge.

A saída deste comando será uma tabela com as seguintes colunas:

  • ID DA REDE
  • NOME
  • DRIVER

Utilizando estes comandos, pode facilmente identificar e listar as redes Docker não utilizadas no seu sistema, o que pode ser útil para limpar o seu ambiente Docker.

Removendo Redes Docker Não Utilizadas

Após identificar as redes Docker não utilizadas, pode removê-las usando o comando docker network rm.

Removendo uma Rede Não Utilizada Individual

Para remover uma única rede Docker não utilizada, utilize o seguinte comando:

docker network rm <nome_da_rede>

Substitua <nome_da_rede> pelo nome da rede que pretende remover.

Removendo Múltiplas Redes Não Utilizadas

Se tiver múltiplas redes Docker não utilizadas, pode removê-las numa única operação usando o comando docker network ls com a opção -q (silencioso) para obter os IDs das redes e, em seguida, passando-os para o comando docker network rm:

docker network ls -f "dangling=true" -q | xargs docker network rm

Este comando primeiro lista todas as redes Docker não utilizadas (pendentes) usando o comando docker network ls com o filtro -f "dangling=true". A opção -q é usada para exibir apenas os IDs das redes. Esses IDs são então passados para o comando docker network rm usando a ferramenta xargs, que remove todas as redes listadas.

Removendo Todas as Redes Não Utilizadas

Se pretender remover todas as redes Docker não utilizadas no seu sistema, utilize o seguinte comando:

docker network prune

Este comando removerá todas as redes que não estão a ser utilizadas por quaisquer contêineres.

Utilizando estes comandos, pode facilmente remover as redes Docker não utilizadas no seu sistema, o que ajuda a manter o seu ambiente Docker limpo e organizado.

Resumo

Neste tutorial, aprendeu a gerir eficazmente as suas redes Docker, identificando e removendo redes não utilizadas. Seguindo os passos descritos, pode garantir que o seu ambiente Docker permanece organizado e eficiente, levando a um melhor desempenho e a uma menor utilização de recursos. Dominar a gestão de redes Docker é uma habilidade crucial para qualquer utilizador ou administrador de Docker.