容器的网关是什么?

容器的网关是什么?

我的 Macbook 上运行着 Docker Desktop 4.25.2。运行后

docker network create foo
docker run --rm -it --network foo ubuntu:22.04 bash

我跑到docker inspect <container_name>另一个航站楼。在“网络设置”下,我看到

"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
    }
}

我看到网关是192.168.0.1。但是,当我ifconfig | grep inet在主机上运行时,我看不到这样的地址。我的理解是主机始终是 Docker 网络上的网关。

答案1

您在 docker 中创建的网络是一个单独的模拟网络。该网络上的容器的行为就像彼此连接一样,并且有一个允许访问互联网的模拟路由器。模拟路由器在此模拟网络上的地址为 192.168.0.1。

相关内容