Tenho o Docker Desktop 4.25.2 em execução no meu Macbook. Depois de correr
docker network create foo
docker run --rm -it --network foo ubuntu:22.04 bash
Corri docker inspect <container_name>
em outro terminal. Abaixo de "NetworkSettings", vejo
"Networks": {
"foo": {
"IPAMConfig": null,
"Links": null,
"Aliases": [
"a3166231defa"
],
"NetworkID": "21a369e01a3ba29ad63e8add84ca9a9aa167a3cfcb2dfe7747dfc9f18ed761b3",
"EndpointID": "95b582ce02a4c15d452d36ede34b3ad3e3291c4e991049a384b296bd8096da4d",
"Gateway": "192.168.0.1",
"IPAddress": "192.168.0.2",
"IPPrefixLen": 20,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:c0:a8:00:02",
"DriverOpts": null
}
}
Vejo que o gateway é 192.168.0.1. No entanto, quando executo ifconfig | grep inet
meu host, não vejo esse endereço. Meu entendimento é que o host é sempre o gateway nas redes Docker.
A rede que você criou no docker é uma rede separada e simulada. Os contêineres desta rede se comportam como se estivessem conectados entre si e existe um roteador simulado que permite o acesso à internet. O roteador simulado possui endereço 192.168.0.1 nesta rede simulada.