我在mac上运行docker。我想使用它的ip(而不是虚拟盒机器的ip)连接到docker容器。原因是spark驱动程序使用容器ip“172.17.0.2”注册,并且从mac运行的客户端尝试连接到此地址。有没有办法从ipbook 192.168.99.1连接到172.17.0.2。
ravis-MacBook-Pro:datadir raviramadoss$ ifconfig | grep inet
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet6 fe80::22c9:d0ff:fec3:ab3b%en1 prefixlen 64 scopeid 0x5
inet 172.20.10.2 netmask 0xfffffff0 broadcast 172.20.10.15
inet6 fe80::2c59:11ff:fe77:f5a6%awdl0 prefixlen 64 scopeid 0x9
inet6 fe80::8f9:68c0:9430:41eb%utun0 prefixlen 64 scopeid 0xb
inet6 fdd6:aa86:393a:d244:8f9:68c0:9430:41eb prefixlen 64
inet 192.168.99.1 netmask 0xffffff00 broadcast 192.168.99.255
inet6 fe80::4fc0:193a:6763:2e97%utun1 prefixlen 64 scooped 0x14
虚拟框ip
ravis-MacBook-Pro:sbin raviramadoss$ docker-machine ip
192.168.99.100
容器
[raviramadoss@karaba logs]$ ifconfig | grep inet
inet addr:172.17.0.2 Bcast:0.0.0.0 Mask:255.255.0.0
inet6 addr: fe80::42:acff:fe11:2/64 Scope:Link
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
感谢任何帮助。 谢谢 Ravi R
答案 0 :(得分:1)
看看Docker Networks。您在Container中看到的IP是Docker网络之外的私有IP。
访问容器的publish a port并通过VM-IP访问容器的唯一(好)方法:published-container-port。或者,您可以使用选项--net=host
直接使用docker hosts netwok接口,但不建议这样做。
答案 1 :(得分:0)
您使用的是哪个Docker应用?使用Docker for Mac beta的AFAIK你现在不能这样做:
不幸的是,由于OSX的限制,我们无法路由流量 到容器,从容器回到主机。
如果您希望行为与“本机”Docker更加一致,您可能需要探索Vagrant主机或类似解决方案。