Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Networking 在Docker for Windows中无法连接到容器IP地址_Networking_Docker_Hyper V - Fatal编程技术网

Networking 在Docker for Windows中无法连接到容器IP地址

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

当安装使用Hyper-V的最新Windows Docker时,会发生此问题

但是,您可以在
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虚拟机。而且看起来您仍然需要映射端口才能访问容器端口。。。