为Docker容器提供可路由的IP地址

我在ubuntu

14.04上运行它,并将其设置docker0为静态ip,然后将其从公共ip路由到防火墙。我试图将我的后端API设置为在docker容器中运行,并且被两件事弄糊涂了。

1.)我如何将docker0ip 映射到容器的ip,以便docker0知道如何将传入的数据包发送到容器(如果可能,动态地)。

2.)如果尚未以这种方式完成,该如何做到这一点,以使我不必在每次重新运行该Docker容器时都进行设置?

提前致谢!

回答:

我假设您想为Docker外部的Docker容器分配IP。

首先,创建一个新IP并将其分配给主机的接口(我们假设您的接口名为eth0。

$> ip addr add 10.0.0.99/8 dev eth0

现在,当您启动容器时,指定该地址并将其链接到您的docker容器:

$> docker run -i -t --rm -p 10.0.0.99:80:8080 base

-p参数将使docker创建一个iptables NAT规则,该规则会将与目标10.0.0.99:80匹配的所有流量都引导到端口8080上的docker容器。

如果您需要自动化该过程并进行扩展,请查阅以下资源:https :

//github.com/jpetazzo/pipework

Docker文档是一个不错的开始:https://docker.github.io/engine/userguide/networking/

以上是 为Docker容器提供可路由的IP地址 的全部内容, 来源链接: utcz.com/qa/404270.html

回到顶部