如何访问Docker中不同容器的公共IP

如何访问Docker中不同容器的公共IP

问题描述:

希望你做得很好。如何访问Docker中不同容器的公共IP

此前信息:

我使用泊坞版本17.06.0-CE和CentOS 7.3

我正在微服务的基于应用程序中,我需要运行在不同的公网IP泊坞窗容器。端口绑定对我来说不是一种选择(IP:80:80),因为微型工作者在没有任何端口绑定的容器内运行。他们只是从队列中提取数据,处理数据并再次发送到队列中。我需要在不同的公共平台上并行运行这些工作人员,以更快地运行此过程。我可以使用相同的工作应用程序集启动不同的容器,但他们都在同一个公共IP上监听(docker容器的私有IP是不同的)。我如何用不同的公有IP运行不同的容器?

感谢和问候

+0

你为什么要在所有的映射端口?为什么不在映射端口的情况下运行它? –

+0

我没有映射端口。我需要一个不映射端口的解决方案。举个例子,如果我用相同的映像启动2个容器worker1和worker2,两者工作正常,但它们通过相同的公共IP进行路由。我需要的是,我想用public ip1和public2来运行worker1。 –

当然,你可以找到在论坛上一些其他的答案足够帮助。检查这些了:

+0

我已经检查过它们。这些是为私有IP网络运行的网络配置(172.16.0.0 - 172.31.255.255是私有IP范围),而我需要在公共IP上运行容器。我的应用程序没有运行在确定的端口上。所以端口绑定不是我的选择。 –

+0

我明白了。没有端口映射,事情变得更加困难。也许你可以检查这个https://docs.docker.com/engine/userguide/networking/get-started-macvlan/,另外这个https://micropyramid.com/blog/assign-public-ip-address-to -docker-container-without-port-binding/ 我还没有使用过。但它听起来很有希望。 – Marco

+0

第一个链接也是专用网络。尝试与第二个链接。 –