在绑定docker-compose.yml中的主机端口时,无法将服务扩展到多个容器
微服务在一个容器上运行。 我已经将该服务绑定到主机端口8082
并使用docker-compose
启动了此微服务。 现在我想使用docker-compose scale
命令将其扩展到3个容器,但它给了我下面的错误 –
错误:for 2未能在networking上创build端点composetest_nginx_2 composetest_default:绑定0.0.0.0:8082失败:端口已分配
错误:for 3未能在networking上创build端点composetest_nginx_3 composetest_default:绑定为0.0.0.0:8082失败:端口已分配
这将是什么解决scheme?
您不应该将3个容器的端口绑定到主机中的同一端口。
你可以做的是build立:
-
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容器中访问主机的虚拟机
- 无法在Docker容器和java进程中parsing主机
- dockerd与docker容器vsdocker运行与docker-containerd-ctr vsdocker容器shim
- docker微软/ iis卷
- sudo:docker-machine:command not found
- Docker的mysql挂载的日志目录总是空的
- 如何使用CLI删除dockerhub中的Docker镜像,使用特定的标签或标签集?
- Dockerregistry中的所有存储库在docker守护程序重新启动后都会被移除(docker-for-mac)
- Docker + PHP – 错误:无法连接到Docker守护进程?