从容器内部执行ping操作时Docker默认网络行为

时间:2018-07-11 15:19:18

标签: docker networking virtual-machine ping

我正在遵循Docker网络教程herehere中提到的步骤。

HostOS:MacOS Docker
版本:18.03.1-ce-mac65(24312)

docker run -dit --name alpine1 alpine ash

在前一个链接中提到

  

主机的IP地址正在更改(如果您没有网络,则没有IP地址)   访问)。从18.03开始,我们的建议是连接到   特殊的DNS名称host.docker.internal,解析为内部   主机使用的IP地址。这是出于发展目的,将   在Docker for Mac以外的生产环境中无法使用。

因此,从alpine1容器中:

/ # ping -c 1 host.docker.internal
PING host.docker.internal (192.168.65.2): 56 data bytes
64 bytes from 192.168.65.2: seq=0 ttl=37 time=0.285 ms

--- host.docker.internal ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.285/0.285/0.285 ms

您可以看到host.docker.internal解析为192.168.65.2 我以为192.168.65.2必须是我的主机IP,但是当时不是我对主机IP执行ping操作(通过在主机OS上执行ifconfig),然后对来自alpine1的主机OS IP执行了ping操作容器,这是输出:

  

ping -c 1 192.168.86.81   PING 192.168.86.81(192.168.86.81):56个数据   字节从192.168.86.81开始的64字节:seq = 0 ttl = 37 time = 0.869 ms

     

--- 192.168.86.81 ping统计信息---传输1个数据包,接收1个数据包,0%数据包丢失往返min / avg / max = 0.869 / 0.869 / 0.869 ms

host.docker.internal 解析的IP(192.168.65.2)是什么?

host.docker.internal 到底是什么?

0 个答案:

没有答案