如何将外部IP添加到Docker容器?

时间:2017-04-03 14:58:47

标签: docker networking ovh

我一直在研究Docker以及所有可用的选项。我有一个带有3个额外静态IP的VPS。

这个想法是将每个容器连接到不同的IP,或者可以添加具有不同容器的3个网络,并使每个网络连接到不同的IP。我几天前在互联网上看到了一些教程,但我没有保存它们,我再也找不到了它们。

IP是静态的,由我们的ISP(ovh)提供。

到目前为止,我尝试使用子网xx.xx.xx.xx / 32(仅1个IP)连接到IP,但它给了我错误

PS。我是Docker的新人。

修改

刚试过这段代码

docker network create \
  --driver=bridge \
  --subnet=AAA.BBB.CCC.DDD/32 \
  --ip-range=AAA.BBB.CCC.DDD/32 \
  --gateway=AAA.BBB.CCC.DDD \
  br0

我收到了当前错误

Error response from daemon: failed to allocate gateway (AAA.BBB.CCC.DDD): No available addresses on this pool

AAA.BBB.CCC.DDD也代表来自ISP的公共IP

1 个答案:

答案 0 :(得分:0)

ip地址解析到某个地方(如果您的DNS服务器能够解决它) 在这种情况下,我假设静态IP解析到同一台机器:尝试通过运行确认

Host xxx.xxx.xxx

注意:使用ipv4地址,省略斜杠 如果返回相同的主机名,我的假设是正确的。

在此主机上,每个容器都必须公开一个端口,并且它们不能使用相同的端口。 (每个应用程序一个端口)

所以你要么导航到ip后跟冒号和端口号......或者你可以省略端口并在默认端口(80)上配置像apache或nginx这样的web服务器并配置基于收到的请求的路由。 (然后你将它路由到单独暴露的端口,但这样客户端不必知道那些)

希望这能为您提供一些指导,帮助您调查目标选项。