我正在使用microsoft/windowsservercore
图像创建一个容器。然后,当我尝试从容器内ping google.com时,我收到此错误:
Ping请求无法找到主机www.google.com。请检查名称,然后重试。
然后我在docker for windows中切换到Linux Container
模式。然后在ubuntu容器中尝试相同,但这次它工作正常。然后,当我切换回Windows Container
模式并再次尝试相同的事情时,这次工作。虽然我的问题已经解决,但我仍然不明白是什么原因造成了这个问题?
用于Windows和Linux的Docker具有不同的默认网络设置。通常,linux的默认值是桥接模式,而在Windows中则是NAT。
您可以使用Network Connection Settings for windows更改配置
见:https://docs.docker.com/docker-for-windows/#network
对我来说,第一个选择是在执行docker inspect *containername*
时始终查看网络部分。此命令提供有关容器的网络设置的信息。其他选项是检查防火墙设置。
一般来说,我通常使用ping 8.8.8.8
,因为即使从我的标准Windows机器也无法ping到www.google.com。