当我在Visual Studio中创建一个Docker文件并启动它时;发生以下情况:
如果它是Windows容器,则当我运行应用程序(使用docker-compose作为启动项目)时,它会启动:http://172.22.15.37/(IP地址每次都会更改)。
此IP地址是什么,为什么在使用Windows容器而不是Linux容器时可以浏览到该IP地址?我无法使用ipconfig找到它。
我问的原因是因为Linux容器似乎不会发生这种情况,Linux容器会直接浏览到本地端口http://localhost:30500。
当我在Visual Studio中创建Linux容器并运行以下命令时,它使我更加困惑:docker-inspect {container name}
。在这里,我可以找到容器的IP地址。使用Windows容器时,我可以在端口80上浏览到该IP地址,但是使用Linux容器时,我不能在端口80上浏览。
我花了几个小时在谷歌上搜索,但是找不到答案。
答案 0 :(得分:0)
是的,是的。
Windows 中容器IP地址的分配与 Linux 中容器IP地址的分配不同。 在Windows的Docker中,容器通过名为 DockerNAT 的vEthernet适配器进行通信。
请在ipconfig
中运行cmd
,以尝试找到Ethernet adapter vEthernet (DockerNAT)
。
从版本18.03开始,您可以使用DNS名称host.docker.internal
,该名称解析为主机使用的内部IP地址。
我认为,以下讲座对您有所帮助: