我在 ubuntu 14.04 上运行它并且已经设置docker0
到静态 IP,然后通过防火墙从公共 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 匹配的所有流量 nat 到端口 8080 上的 docker 容器。
如果您需要自动化该流程并进行扩展,请咨询以下资源:https://github.com/jpetazzo/pipework https://github.com/jpetazzo/pipework
docker 文档是一个好的开始:https://docker.github.io/engine/userguide/networking/ https://docker.github.io/engine/userguide/networking/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)