运行OSX 10.11.6(出于兼容性的原因,与某些与更高版本不兼容的其他软件兼容,因此升级OSX不是解决方案)和Docker的最高版本与10.11.6兼容,即17.12。 0-ce-mac55(23011)。
在继续之前,我应该说我对网络,子网,网络掩码,网关等不太了解。
在我的任何容器内部,我都无法访问本地网络上的任何主机(主机除外)。我的网络配置在主机上看起来像这样:
en4: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:50:b6:69:51:f3
inet6 fe80::250:b6ff:fe69:51f3%en4 prefixlen 64 scopeid 0x4
inet 172.25.18.19 netmask 0xfffffe00 broadcast 172.25.19.255
nd6 options=1<PERFORMNUD>
media: autoselect (1000baseT <full-duplex>)
status: active
并在容器中这样子:
eth0 Link encap:Ethernet HWaddr 02:42:C0:A8:10:04
inet addr:192.168.16.4 Bcast:192.168.31.255 Mask:255.255.240.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:24 errors:0 dropped:0 overruns:0 frame:0
TX packets:30 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1683 (1.6 KiB) TX bytes:2551 (2.4 KiB)
例如,我可以从主机telnet到172.25.33.51上的HP JetDirect盒,但不能从任何容器进行telnet。类似地,我可以从主机上的Navision服务器的SOAP服务器(在172.20.38.62)获得响应,但不能从任何容器获得响应。与其他几台IP略有不同的计算机具有相同的故事。
问题是,我需要编写一个连接到Navision的集成包。
有什么想法可以访问网络上的主机吗?