我可以通过172.17.42.1从docker容器连接到主机吗?

时间:2014-12-14 17:15:10

标签: docker

我在几台ubuntu服务器上安装了docker Docker创建的docker0都具有相同的IP(172.17.42.1)。

$ ifconfig docker0
docker0   Link encap:Ethernet  HWaddr 56:84:7a:fe:97:99
          inet addr:172.17.42.1  Bcast:0.0.0.0  Mask:255.255.0.0
          inet6 addr: fe80::5484:7aff:fefe:9799/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:31 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2100 (2.1 KB)  TX bytes:547 (547.0 B)

我可以对IP地址进行硬编码,以便我可以从容器中联系主机吗? docker0将来会改变为另一个IP吗?

1 个答案:

答案 0 :(得分:3)

您正在查看Docker为其运行的容器创建的 bridge (默认情况下)。这个网桥的工作方式与该机器上的以太网交换机非常相似 - 从一个接口进入网桥的流量可用于所有其他连接的接口。

如果再往前看,您会看到每个容器还有一个虚拟以太网设备,该设备被分配了一个单独的IP地址。 Detailed Docker docs on networking.

  

我可以硬编码IP地址,以便我可以从容器联系主机吗?

这不会跟随 - 无论分配给网桥和容器的IP地址如何,您始终可以从容器联系主机。你的意思是问别的吗?

  

将来docker0会更改为其他IP吗?

是的,如果该地址空间被占用,那么Doc​​ker将尝试找到用于桥接器和容器的不同位私有IP地址空间。