Rede Bridge na prática
Laboratório
3 redes por padrão:
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
4fd474dd0ebe bridge bridge local
73f2d51a39de host host local
9198ba9fc6fd none null localInspeção da rede bridge:
$ docker network inspect 4fd474dd0ebe
[
{
"Name": "bridge",
"Id": "4fd474dd0ebe7aad9a3d19048b4544eca0dd2642bee8f6b0ceb3e1dbbead1824",
"Created": "2024-08-27T08:18:12.74665459-03:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {
"com.docker.network.bridge.default_bridge": "true",
"com.docker.network.bridge.enable_icc": "true",
"com.docker.network.bridge.enable_ip_masquerade": "true",
"com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
"com.docker.network.bridge.name": "docker0",
"com.docker.network.driver.mtu": "1500"
},
"Labels": {}
}
]Os container criados, por padrão, são inseridos na rede bridge.
Por exemplo:
Outro exemplo:
Os 2 containers foram inseridos na mesma rede com o modo bridge:

Instalar o curl no container em que o Ubuntu está sendo executado e acessar o NgINX que está sendo executado no outro container:
O container é efêmero. Trabalhar com endereço IP no container é errado.
Simulação de cenário com a exclusão do container do NgINX e a criação de novos containeres (i.e., hello-world, conversao-temperatura, nginx etc.):
Inspecionar o endereço IP do container NgINX para verificar que o endereço IP não é o mesmo. Antes era 172.17.0.2 e agora é 172.17.0.4:
O acesso ao container antes parametrizado com o endereço IP 172.17.0.2 não está mais acessível:
Teria que ser utilizado o novo endereço IP 172.17.0.4:
Apesar da rede no modo bridge ser disponibilizada pelo Docker, não deve ser utilizada. Ela não tem um DNS vinculada a ela. Ela somente trabalha com endereço IP.
Last updated