
关于如何以一致的,易于理解的和可移植的方式执行此 *** 作的问题已有很长时间的讨论。尚无完整的解决方案,但我会将您链接到下面的讨论。
无论如何,您都想尝试使用–add-host选项在docker run中尝试将主机的IP地址添加到容器的/ etc /
host文件中。从那里可以很容易地在任何需要的端口上连接到主机:
将条目添加到容器主机文件
您可以使用一个或多个–add-host标志将其他主机添加到容器的/ etc / hosts文件中。本示例为名为docker的主机添加静态地址:
$ docker run --add-host=docker:10.180.0.1 --rm -it debian $$ ping docker PING docker (10.180.0.1): 48 data bytes 56 bytes from 10.180.0.1: icmp_seq=0 ttl=254 time=7.600 ms 56 bytes from 10.180.0.1: icmp_seq=1 ttl=254 time=30.705 ms ^C--- docker ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 7.600/19.152/30.705/11.553 ms注意:有时您需要连接到Docker主机,这意味着获取主机的IP地址。您可以使用以下shell命令来简化此过程:
$ alias hostip="ip route show 0.0.0.0/0 | grep -Eo 'via S+' | awk '{print $2 }’“
$ docker run –add-host=docker:$(hostip) –rm -it debian
说明文件:
https://docs.docker.com/engine/reference/commandline/run/
关于从容器访问主机的讨论:
https://github.com/docker/docker/issues/1143
https://github.com/docker/docker/issues/10023
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)