看起来你需要创建多个桥接网络,每个容器一个。为了简化这个过程,你可能想使用 docker-compose
来指定如何提供网络和容器,并让 docker-compose
工具正确地将它们连接起来。
另外需要注意的一点:我认为暴露的端口对所有网络都是可访问的。如果是这样的话,您可以将所有服务器网络设置为“无”,并依靠暴露的端口来访问服务器。
希望这与您的用例相关 - 我试图从图表和注释中获取有关您实际应用程序的上下文。我建议您选择服务发现路线。它可能涉及一些简单的 API,通过一个中央存储(例如 Redis 或 SkyDNS)来实现,但从长远来看会使事情变得简单。
例如,Kubernetes 使用 SkyDNS 来使用 DNS 进行操作。归根结底,您选择的任何编排工具都很可能在开箱即用时执行此类操作:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dns
这个想法很简单:
server-<<ISO 时间戳>>
docker run
命令是docker create
和docker start
命令的序列。 - Héctor Valverde