微服务在一个容器上运行.我已将该服务绑定到主机端口8082并使用docker-compose启动此微服务.现在我想使用docker-compose scale命令将其缩放到3个容器,但是它给了我以下错误 –
ERROR: for 2 Failed to create endpoint composetest_Nginx_2 on network
composetest_default: Bind for 0.0.0.0:8082 Failed: port is already
allocatedERROR: for 3 Failed to create endpoint composetest_Nginx_3 on network
composetest_default: Bind for 0.0.0.0:8082 Failed: port is already
allocated
这会是什么解决方案?
最佳答案
您不应该将3个容器的端口绑定到主机中的同一端口.
您可以做的是设置:
> 1个负载均衡器容器(将容器的端口XXXX绑定到主机的端口8082)
> 3个服务容器(将端口暴露给负载均衡器)
bind仅将1端口绑定到主机.并且只公开端口到链接容器,因此它们可以来自多个容器.
参考:
https://www.brianchristner.io/how-to-scale-a-docker-container-with-docker-compose/
https://github.com/vegasbrianc/docker-compose-demo/blob/master/docker-compose.yml