使用“容器IP”连接到docker集装箱

我在mac上运行docker。 我想连接到docker容器使用其IP(不是虚拟机器的IP)。 原因是spark驱动注册了自己的容器ip“172.17.0.2”,并且从mac运行的客户端试图连接到这个地址。 有没有办法从macbook连接到172.17.0.2与IP 192.168.99.1。

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

看看Docker Networks 。 您在容器中看到的IP是私有IP是泊坞窗networking。

唯一(好)的方法来访问容器来发布容器的端口 ,并通过VM-IP:published-container-port访问它。 或者,您可以使用选项--net=host直接使用--net=host hosts netwok接口,但不build议这样做。

你正在使用哪个Docker应用程序? 与Docker for Mac beta的AFAIK你现在不能这样做:

不幸的是,由于OSX的限制,我们无法将stream量路由到容器,并且从容器回到主机。

如果您希望行为与“本地”Docker更加一致,您可能需要探索一个Vagrant主机或类似的解决scheme。