首页 > 解决方案 > 不能同时在一个 swarm 中使用多个 docker 网络

问题描述

我用 2 个覆盖网络(后端和前端)制作了一个 docker swarm,我有两个 swarm 服务,一个连接到后端网络,另一个连接到前端。

两者都是在不同端口 80 和 5001 上运行的 Web 应用程序。
如果我这样做,curl localhost:80或者curl localhost:5001它们都可以正常工作,但是如果我尝试通过具有外部 IP 的浏览器访问它们,那么只有我之前运行的服务才能工作。

即,如果我这样做docker service create -p 80:80 frontend,然后docker service create -p 5001:80 backend只有前端与外部 ip 一起工作,另一个只在内部工作,反之亦然,如果我先启动后端,只有这样才能工作......
为什么会发生这种情况,我该如何防止它?

其他可能是相关细节:
在 Ubuntu 机器上的 google cloud 上运行 swarm。

标签: dockergoogle-cloud-platformclouddocker-swarm

解决方案


推荐阅读