Networking 在Docker for Windows中无法连接到容器IP地址
当安装使用Hyper-V的最新Windows Docker时,会发生此问题 但是,您可以在Networking 在Docker for Windows中无法连接到容器IP地址,networking,docker,hyper-v,Networking,Docker,Hyper V,当安装使用Hyper-V的最新Windows Docker时,会发生此问题 但是,您可以在docker network inspect bridge输出中看到IP: "Containers": { "...": { "Name": "dockerdevenvironment_rabbit_1", "EndpointID": "...", "MacAddress": "02:42
docker network inspect bridge
输出中看到IP:
"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它们或以任何方式连接它们。默认情况下,DockerNet将10.0.75.0/24分配给MobyLinux虚拟机。 MobyLinux虚拟机中的Docker为范围为172.17.0.0/16的容器分配IP地址。您必须更改路由表才能访问容器IP地址:
route add 172.17.0.0掩码255.255.0.0 10.0.75.2-p
来源:当你说你无法连接时,那是什么意思?您正在运行容器,但无法在浏览器中打开它吗?您是否将端口暴露到容器中?运行docker ps时,您看到了什么?你有没有试过连接到?这就是Docker for Windows容器应该位于的位置。它不连接到localhost,即使对于它们自己的示例(Docker run-d-p 80:80--name webserver nginx),但这仅在有人试图从另一台机器访问容器时才会发生。Localhost应该仍然可以工作,但它不能。即使对于他们自己的nginx示例,由于我的主网络使用的是10.0.0.0/8网络,Docker也将192.168.4.0/24网络分配给了MobyLinux虚拟机。而且看起来您仍然需要映射端口才能访问容器端口。。。