在 Docker Windows 中无法连接到容器 IP 地址
Connecting to containers IP address is impossible in Docker for Windows
当您为使用 Hyper-V 的 Windows 安装最新的 Docker 时会发生此问题。
但是您可以在 docker network inspect bridge
输出中看到 ips:
"Containers": {
"...": {
"Name": "dockerdevenvironment_rabbit_1",
"EndpointID": "...",
"MacAddress": "02:42:ac:11:00:04",
"IPv4Address": "172.17.0.4/16",
"IPv6Address": ""
},
"...": {
"Name": "webserver",
"EndpointID": "...",
"MacAddress": "02:42:ac:11:00:02",
"IPv4Address": "172.17.0.2/16",
"IPv6Address": ""
},
"...": {
"Name": "dockerdevenvironment_mongo_1",
"EndpointID": "...",
"MacAddress": "02:42:ac:11:00:05",
"IPv4Address": "172.17.0.5/16",
"IPv6Address": ""
}
您甚至无法 ping 通它们或以任何方式连接它们。
默认情况下,dockerNAT 将 10.0.75.0/24 分配给 MobyLinuxVM。
Docker 在 MobyLinuxVM 内部分配给 172.17.0.0/16 范围内的容器 IP 地址。您必须更改路由表才能访问容器 IP 地址:
route add 172.17.0.0 MASK 255.255.0.0 10.0.75.2 -p
来源:https://forums.docker.com/t/connecting-to-containers-ip-address/18817
当您为使用 Hyper-V 的 Windows 安装最新的 Docker 时会发生此问题。
但是您可以在 docker network inspect bridge
输出中看到 ips:
"Containers": {
"...": {
"Name": "dockerdevenvironment_rabbit_1",
"EndpointID": "...",
"MacAddress": "02:42:ac:11:00:04",
"IPv4Address": "172.17.0.4/16",
"IPv6Address": ""
},
"...": {
"Name": "webserver",
"EndpointID": "...",
"MacAddress": "02:42:ac:11:00:02",
"IPv4Address": "172.17.0.2/16",
"IPv6Address": ""
},
"...": {
"Name": "dockerdevenvironment_mongo_1",
"EndpointID": "...",
"MacAddress": "02:42:ac:11:00:05",
"IPv4Address": "172.17.0.5/16",
"IPv6Address": ""
}
您甚至无法 ping 通它们或以任何方式连接它们。
默认情况下,dockerNAT 将 10.0.75.0/24 分配给 MobyLinuxVM。 Docker 在 MobyLinuxVM 内部分配给 172.17.0.0/16 范围内的容器 IP 地址。您必须更改路由表才能访问容器 IP 地址:
route add 172.17.0.0 MASK 255.255.0.0 10.0.75.2 -p
来源:https://forums.docker.com/t/connecting-to-containers-ip-address/18817