Introdução
Neste laboratório, você aprenderá como gerenciar as conexões de rede de contêineres usando o comando docker network disconnect. Começaremos criando uma rede customizada e executando um contêiner conectado a ela.
Em seguida, você verá como conectar um contêiner existente a uma rede adicional. Por fim, aprenderá como desconectar o contêiner de uma rede específica e verificar a desconexão. Este exercício prático fornecerá experiência prática no controle da conectividade de rede de contêineres.
Criar uma rede e um contêiner
Nesta etapa, aprenderemos como criar uma rede Docker customizada e executar um contêiner conectado a ela. Por padrão, os contêineres Docker são conectados à rede bridge, mas a criação de redes customizadas permite um melhor isolamento e controle de comunicação entre os contêineres.
Primeiro, vamos criar uma nova rede bridge chamada my-network.
docker network create my-network
Você deve ver o ID da rede recém-criada impresso na saída.
Em seguida, faremos o pull da imagem nginx do Docker Hub. Esta imagem será usada para criar nosso contêiner.
docker pull nginx
Este comando baixa a imagem nginx para sua máquina local.
Agora, vamos executar um contêiner Nginx e conectá-lo à my-network que acabamos de criar. Vamos nomear o contêiner my-nginx.
docker run -d --name my-nginx --network my-network nginx
Vamos detalhar este comando:
docker run: Este comando é usado para executar um contêiner.-d: Esta flag executa o contêiner em modo detached (desconectado), o que significa que ele é executado em segundo plano.--name my-nginx: Isso atribui o nomemy-nginxao contêiner.--network my-network: Isso conecta o contêiner àmy-networkque criamos.nginx: Esta é a imagem a ser usada para criar o contêiner.
Após executar o comando, o Docker iniciará o contêiner my-nginx e o conectará à my-network.
Conectar o contêiner à rede
Na etapa anterior, criamos uma rede e executamos um contêiner conectado a ela. Nesta etapa, demonstraremos como conectar um contêiner já em execução a uma rede adicional. Isso é útil se você precisar que um contêiner se comunique com outros contêineres em uma rede diferente.
Primeiro, vamos criar outra nova rede bridge chamada another-network.
docker network create another-network
Você deve ver o ID desta nova rede impresso na saída.
Agora, conectaremos nosso contêiner my-nginx existente a esta nova another-network.
docker network connect another-network my-nginx
Este comando conecta o contêiner especificado (my-nginx) à rede especificada (another-network). O contêiner agora terá interfaces de rede em my-network e another-network.
Para verificar se o contêiner está conectado a ambas as redes, podemos inspecionar as configurações de rede do contêiner.
docker inspect my-nginx
Procure a seção "Networks" na saída. Você deve ver entradas para my-network e another-network, indicando que o contêiner está conectado com sucesso a ambas.
Desconectar o contêiner da rede
Na etapa anterior, conectamos nosso contêiner my-nginx a uma rede adicional, another-network. Nesta etapa, aprenderemos como desconectar um contêiner de uma rede específica. Isso é útil quando você não precisa mais que um contêiner faça parte de uma rede específica.
Para desconectar o contêiner my-nginx de another-network, usamos o comando docker network disconnect.
docker network disconnect another-network my-nginx
Este comando recebe o nome da rede (another-network) e o nome do contêiner (my-nginx) como argumentos.
Após executar este comando, o contêiner será removido da rede especificada. Ele não poderá mais se comunicar com outros contêineres em another-network, a menos que também estejam em uma rede compartilhada.
Para confirmar que o contêiner foi desconectado, podemos novamente inspecionar as configurações de rede do contêiner.
docker inspect my-nginx
Observe a seção "Networks" na saída. Você agora deve ver apenas my-network listada, e another-network deve estar ausente. Isso confirma que o contêiner foi desconectado com sucesso de another-network.
Verificar se o contêiner está desconectado
Na etapa anterior, desconectamos o contêiner my-nginx da another-network. Nesta etapa, realizaremos uma verificação final para garantir que o contêiner realmente não está mais conectado à another-network.
Podemos usar o comando docker inspect novamente para examinar a configuração de rede do contêiner my-nginx.
docker inspect my-nginx
Revise a saída deste comando. Especificamente, procure a seção "Networks". Você deve ver apenas my-network listada em "Networks". A ausência de another-network nesta lista confirma que o contêiner foi desconectado com sucesso dela.
Esta etapa serve como uma confirmação da ação anterior e reforça como verificar o status da rede de um contêiner Docker.
Resumo
Neste laboratório, aprendemos como gerenciar as conexões de rede de contêineres Docker. Começamos criando uma rede bridge customizada e lançando um contêiner diretamente conectado a ela usando o comando docker run --network. Isso demonstrou a conexão inicial de um contêiner a uma rede específica durante sua criação.
Posteriormente, exploramos como conectar um contêiner já em execução a uma rede adicional usando o comando docker network connect. Finalmente, aprendemos como desconectar um contêiner de uma rede usando o comando docker network disconnect e verificamos a desconexão, ilustrando a flexibilidade de gerenciar as associações de rede de contêineres após a criação.



