Docker for Windows将Linux容器连接到Windows主机网络

Docker for Windows将Linux容器连接到Windows主机网络,docker,docker-for-windows,docker-networking,docker-network,Docker,Docker For Windows,Docker Networking,Docker Network,首先,我没有太多的网络经验或知识,尤其是关于docker容器,所以请温柔一点。 我正在运行一台带有docker for windows的主机,需要启动linux容器。这些linux容器通过容器中的服务需要连接到的服务器的IP传递一个环境变量。我怀疑这部分工作正常,因为服务器注册了一个客户端已连接到IP 172.17.0.2,并且在容器中查找ifconfig确认了这一点,因为它也显示了IP 172.17.0.2。 我怀疑这个IP是由docker网络隔离的东西生成的,因为外部无法访问它 现在来谈谈问

首先,我没有太多的网络经验或知识,尤其是关于docker容器,所以请温柔一点。 我正在运行一台带有docker for windows的主机,需要启动linux容器。这些linux容器通过容器中的服务需要连接到的服务器的IP传递一个环境变量。我怀疑这部分工作正常,因为服务器注册了一个客户端已连接到IP 172.17.0.2,并且在容器中查找ifconfig确认了这一点,因为它也显示了IP 172.17.0.2。 我怀疑这个IP是由docker网络隔离的东西生成的,因为外部无法访问它

现在来谈谈问题。 在linux容器中运行的服务可能会向服务器发送一个关于其存在以及容器的本地ip的NotiAction。当服务器尝试向registerd客户机发送命令时,它会以find响应

找不到主机172.17.0.2

因此,我需要docker容器来使用windows主机的真实IP。 出于本能,我将传递
--networkhost
作为docker运行的参数,但docker for windows似乎不支持它。 通过
--IP
传递主机的IP也不起作用,因为内部容器IP保持在172.17.0.2

这些帖子似乎非常相关

,但--dns host.docker.internal或docker.for.win.localhost导致

无效参数“host.docker.internal”for--dns标志: host.docker.internal不是ip地址


我是不是误解了如何使用它们?关于解决这个问题的其他想法

你能分享你的Dockerfile吗