我知道这个问题听起来很模糊,但我会尝试解释我的问题陈述。
我有一个Spring云应用程序(使用Netflix Eureka作为服务发现),有多个服务,它们部署在docker容器中,容器使用docker compose进行链接和旋转,一切工作正常,单个容器部署但问题是自动扩展单个服务/容器,即拥有单个服务的多个容器,因为我的容器与端口绑定,因此docker-compose规模不起作用。
我已经用Google搜索,发现我可以使用负载均衡器并使用不同端口旋转容器进行服务,但我不想要这样,因为事实上我使用客户端负载平衡。
有人可以建议我如何为服务自动旋转多个容器,同时牢记容器可以使用他们的服务名称相互通信。
答案 0 :(得分:0)
回答我的问题可能会对某人有所帮助。
由于我使用Spring Cloud,因此服务通过提供服务名称向Eureka注册,因此将公共端口绑定到容器没有意义,我在下面使用过docker-compose文件实现扩展,但有可能有更好的方法,但现在它适用于我。
version: '2'
services:
eureka:
image: eureka
container_name: eureka
ports:
- "8761:8761"
zuul:
image: zuul
container_name: zuul
ports:
- "8080"
depends_on:
- eureka
webapp:
image: web-app
ports:
- "6001"
depends_on:
- eureka
writer:
image: writer
ports:
- "7001"
depends_on:
- eureka
recorder:
image: recorder
ports:
- "9001"
depends_on:
- eureka
- mongodb
mongodb:
image: mongo:latest
command: mongod --noprealloc --smallfiles --dbpath /data/db --nojournal --oplogSize 16 --noauth
ports:
- "27017:27017"
environment:
TERM: xterm
volumes:
- /home/user/data/mongo:/data/db
PS:上面没有格式化yaml。