为Docker容器提供可路由的IP地址
我在ubuntu
14.04上运行它,并将其设置docker0
为静态ip,然后将其从公共ip路由到防火墙。我试图将我的后端API设置为在docker容器中运行,并且被两件事弄糊涂了。
1.)我如何将docker0
ip 映射到容器的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