问题背景在docker里用同一份镜像创建4个容器,网络选择bridge模式,A服务在四个容器中都使用了同一个端口号;为了减少对外暴露的端口数,另外使用了nginx对这4个服务实例做代理,4个服务实例分属4个upstream,使用了类似/service1、/service2的路径来访问4个实例。此时从本地访问任一服务,则会报502错误,百思不得其解。解决方案暂时没有较好的方案,只能对4个服务使用不同的端口号,nginx也相应地修改。因为不管怎样,请求参数投都带上了端口号。网上还有一种方法:修改proxy_redirect 参数

Docker多个容器不能有相同端口号的处理方案

Docker多个容器不能有相同端口号的处理方案

Docker多个容器不能有相同端口号的处理方案

Docker多个容器不能有相同端口号的处理方案