CodeGym /Cursos /Docker SELF /Criação e gerenciamento de redes

Criação e gerenciamento de redes

Docker SELF
Nível 17 , Lição 1
Disponível

2.1 Comandos básicos do docker network

Redes no Docker permitem que os containers interajam entre si e com redes externas. Os comandos docker network oferecem opções flexíveis para criar, configurar e gerenciar redes, garantindo isolamento e controle sobre a interação de rede dos containers. Nesta aula, vamos ver em detalhes os comandos docker network e como usá-los para gerenciar redes.

Comandos básicos do docker network:

  1. docker network create
  2. docker network ls
  3. docker network inspect
  4. docker network connect
  5. docker network disconnect
  6. docker network rm

Criação de rede: comando docker network create

O comando docker network create é usado para criar novas redes. Você pode criar redes com diferentes drivers, como bridge, host, overlay e macvlan.

Exemplo de criação de rede com o driver bridge

Terminal


docker network create --driver bridge my_bridge_network 

Exemplo de criação de rede com o driver overlay

Terminal


docker network create --driver overlay my_overlay_network 

Exemplo de criação de rede com o driver macvlan

Terminal

docker network create --driver macvlan \
  --subnet=192.168.1.0/24   \
  --gateway=192.168.1.1 \
  -o parent=eth0 my_macvlan_network

2.2 Comandos para trabalhar com redes

1. Visualizar redes disponíveis: comando docker network ls

O comando docker network ls exibe uma lista de todas as redes criadas no Docker.

Terminal


docker network ls 

A saída do comando será mais ou menos assim:

Terminal


NETWORK ID          NAME                DRIVER              SCOPE
0e7e2d58fe94        bridge              bridge              local
9c84fdfc69ee        host                host                local
71cfb6a79d9e        none                null                local

2. Ver informações sobre a rede: comando docker network inspect

O comando docker network inspect permite obter informações detalhadas sobre uma rede específica, incluindo containers conectados, configurações de sub-rede e gateway.

Exemplo de uso:

Terminal


docker network inspect my_bridge_network 

A saída do comando terá informações da rede em formato JSON:

JSON

[
    {
        "Name": "my_bridge_network",
        "Id": "0e7e2d58fe94",
        "Created": "2021-01-01T00:00:00.000000000Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Containers": {
            "container_id": {
                "Name": "my_container",
                "EndpointID": "6c52f8c75c1e",
                "MacAddress": "02:42:ac:11:00:02",
                "IPv4Address": "172.18.0.2/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]

3. Conectar um container à rede: comando docker network connect

O comando docker network connect é usado para conectar um container já em execução a uma rede existente.

Exemplo de uso:

Terminal


docker network connect my_bridge_network my_container 

4. Desconectar um container da rede: comando docker network disconnect

O comando docker network disconnect é usado para desconectar um container de uma rede.

Exemplo de uso:

Terminal


docker network disconnect my_bridge_network my_container 

5. Remover uma rede: comando docker network rm

O comando docker network rm é usado para deletar uma rede. Lembre-se de que a rede só pode ser excluída após desconectar todos os containers conectados a ela.

Exemplo de uso:

Terminal


docker network rm my_bridge_network 

2.3 Exemplos de comandos docker network

Exemplos de uso dos comandos docker network

Exemplo 1: Criando e usando uma rede bridge

Criando uma rede:

Terminal

docker network create --driver bridge my_bridge_network 

Iniciando containers e conectando-os à rede:

Terminal

docker run -d --name container1 --network my_bridge_network nginx

docker run -d --name container2 --network my_bridge_network redis 

Verificando a rede:

Terminal

docker network inspect my_bridge_network 

O output do comando docker network inspect terá informações detalhadas sobre a rede em formato JSON. Para deixar esse output mais legível, você pode usar a ferramenta jq:

Terminal

docker network inspect my_bridge_network | jq

Isso é útil para filtrar e visualizar de forma estruturada os dados sobre a rede, como os containers conectados, seus endereços IP e configurações de sub-rede.

Exemplo 2: Conectando e desconectando containers

Iniciando um container:

Terminal

docker run -d --name my_container nginx 

Conectando o container à rede:

Terminal

docker network connect my_bridge_network my_container 

Desconectando o container da rede:

Terminal

docker network disconnect my_bridge_network my_container 
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION