如何将外部IP添加到docker集装箱?
所以一个星期以来我一直在研究docker和所有可用的选项。 我有一个VPS与3个额外的静态IP地址。
这个想法是将每个容器连接到不同的IP,或者可以添加3个不同容器的networking,每个networking连接到不同的IP。 我前几天看到一些互联网上的教程,但我没有保存他们,我找不到他们了。
IP是静态的,由我们的ISP(ovh)提供。
到目前为止,我试图连接到IP使用子网xx.xx.xx.xx / 32(只有1 IP),但它给了我错误谢谢
PS。 我是docker工人的新手
– 编辑 –
just tried this code 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
一个IP地址parsing到某个地方(如果你的DNS服务器能够解决它)在这种情况下,我假设静态IP的parsing到同一台机器:尝试通过运行
Host xxx.xxx.xxx
注意:使用ipv4地址,所以省略斜线如果返回相同的主机名,我的假设是正确的。
在这台主机上,每个容器必须暴露一个端口,并且不能使用同一个端口。 (每个应用程序一个端口)
所以你要么导航到一个IP后面跟着一个冒号和一个端口号…或者你可以省略端口,并有一个像Apache或Nginx的Web服务器监听默认端口(80),并configuration基于路由根据收到的请求。 (然后将其路由到单独暴露的端口,但这样客户端不必知道这些)
希望这给你一些指针来调查你的目标的选项。