如何从Windows 10上的容器连接到docker主机(Docker for Windows)

Docker容器在Docker for Windows(在Windows 10上)连接到其主机的IP地址? 你如何find这个IP地址?

例如:您的Windows 10计算机上的端口1234上运行的服务。 您的容器内的程序必须访问此服务。 程序使用什么IP地址连接到主机?

简短的回答 :在大多数情况下,你需要10.0.75.1

在Docker for Windows中,容器通过名为DockerNAT的vEthernet适配器进行通信。 要查找其详细信息,请打开命令提示符并键入

ipconfig 

找一个看起来像这样的条目

 Ethernet adapter vEthernet (DockerNAT): Connection-specific DNS Suffix . : Link-local IPv6 Address . . . . . : fe80::fd29:297:4583:3ad4%4 IPv4 Address. . . . . . . . . . . : 10.0.75.1 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 

IPv4 Address右边的IPv4 Address是您需要的。

注意:确保服务允许来自主机之外的连接。 就该服务而言,您的docker集装箱是不同的机器。 还要确保Windows防火墙允许与服务进行通信。

允许您从容器连接到主机的选项之一是使用参数运行容器

--net="host"

例:

 docker run -it --net="host" container_name 

然后从容器中,您可以使用以下方式连接到主机上的服务:

localhost:port

但在这种情况下,您将无法使用--link参数链接更多的容器。

更多关于这个主题: http : //phillbarber.blogspot.sk/2015/02/connect-docker-to-service-on-parent-host.html