为docker容器指定linux界面

是否有可能指定哪个Linuxnetworking接口docker容器应该使用? 我有多个接口,并希望为不同的容器使用不同的接口。

从我可以读取我能够configuration默认docker桥,但我不能使用docker容器的几个不同的桥梁。

有几个方法来回答你的问题。

通常情况下,容器在内部“专用”networking上提供,服务通过端口映射暴露。 使用这种机制,只需通过为-p选项指定不同的IP地址,就可以在不同的接口上公开服务。 例如,如果您的主机有:

  • eth0在192.168.10.10
  • eth1在192.168.20.20

你可以像这样在eth0上公开服务:

 docker run -p 192.168.10.10:80:80 httpd mywebserver 

在eth1上是这样的:

 docker run -p 192.168.20.20:5432:5432 postgres mydatabaseserver 

在大多数情况下,这是你想要的。

将容器直接连接到物理接口在技术上是可行的,但是这个过程需要人工干预(即使在Docker 1.9中增加了对多个容器networking的支持)。