在Docker for Windows中连接容器IP地址是不可能的

3
当您安装使用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或任何方式连接它们。


当你说无法连接时,这是什么意思?你是否正在运行一个容器,但无法在浏览器中打开它?你是否将端口暴露给了容器?当你运行docker ps时,你看到了什么?你尝试过连接http://localhost吗?那是Docker for Windows容器应该在的地方。 - Mano Marks
它甚至无法连接到本地主机,即使对于他们自己的示例(docker run -d -p 80:80 --name webserver nginx)。 - maxpovver
1个回答

6

这只会发生在有人试图从另一台机器访问容器时。但是,本地主机仍然可以工作。 - Mano Marks
1
@ManoMarks,但是它并没有。即使对于他们自己的nginx示例也是如此。 - maxpovver
由于我的主网络使用10.0.0.0/8网络,Docker将192.168.4.0/24网络分配给了MobyLinuxVM。看起来你仍然需要映射端口才能访问容器。 - Vargas
尝试使用Hyper-V和WSL2都不起作用。我不知道10.0.75.2是从哪里来的,也许我应该使用不同的值? - Arnon Axelrod

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接