我知道这个问题听起来很含糊,但我会试着解释我的问题陈述。
我有一个具有多个服务的Spring云应用程序(使用Netflix Eureka作为服务发现),它们被部署在docker容器中,使用docker compose链接和旋转容器,使用单个容器部署一切都很好,但问题是自动缩放单个服务/容器,即单个服务的多个容器,因为我的容器与端口绑定在一起,因此docker-compose规模将不起作用。
我在谷歌上搜索了一下,发现我可以使用负载均衡器,并为一个服务使用不同端口的旋转容器,但我不想这样做,因为我使用的是客户端负载均衡。
有没有人可以建议我如何为一个服务自动旋转多个容器,记住容器可以使用它们的服务名称相互通信。
发布于 2017-02-01 16:50:24
回答我的问题可能是这对某些人有帮助。
由于我使用的是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/dbPS: yaml没有在上面格式化。
https://stackoverflow.com/questions/41822521
复制相似问题