Docker与容器上的不同网关

时间:2014-12-09 17:17:08

标签: ubuntu networking docker ifconfig

首先,抱歉我的英语不好。

我们有一个ubuntu服务器,它有2个eth接口和2个不同的ip。我们希望托管2个带有2个docker容器的应用程序,并且在容器中我们必须使用自己的域(我们重定向到ips的域)ip作为网关。

换句话说,当我们附加容器1(xx.xx.xx.98及其域的主机)并运行" curl http://checkip.dyndns.org"我们想在dyndns.org响应中看到xx.xx.xx.98 ip。在容器2(xx.xx.xx.99及其域的主机)中,我们希望在dyndns.org响应中看到xx.xx.xx.99 ip。

是否可能,如果可能,我们该怎么办呢?

此外,我阅读了这些文章,我发现我们只能使用一个桥接器,这意味着所有的docker容器都必须使用相同的网关。这是真的吗?

https://docs.docker.com/articles/networking/#bridge-building http://jpetazzo.github.io/2013/10/16/configure-docker-bridge-network/

2 个答案:

答案 0 :(得分:1)

只要您自己完成所有配置,就可以拥有任意数量的网桥。因此,您可以按照bridge-building中的说明两次创建两个桥,然后按the other part将一个容器连接到一个桥,将另一个容器连接到另一个桥。

使用--net=none启动每个容器,以确保Docker取消配置,以便您自己完成。

答案 1 :(得分:0)

您可以在yor docker run命令中使用类似-p 127.0.0.1:5000:5000的类似命令将端口绑定到特定接口。然后,您可以根据需要在主机上设置该接口的默认网关。 Here是一个教程,介绍如何使用iproute2实用程序为每个接口设置网关。虽然我认为只要接口设置正确,我就不认为你需要对网关做任何事情来做你需要的事情。