网络 – 在docker-compose.yml中绑定主机端口时无法将服务扩展到多个容器

前端之家收集整理的这篇文章主要介绍了网络 – 在docker-compose.yml中绑定主机端口时无法将服务扩展到多个容器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

微服务在一个容器上运行.我已将该服务绑定到主机端口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
allocated

ERROR: 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

猜你在找的Docker相关文章