我正在尝试使用 Docker 和 haproxy 来对许多嵌入式 tomcat 进行负载平衡/循环请求。
我目前的配置如下:
从 docker-compose.yml:
loadbalancer:
image: haproxy
links:
- web
ports:
- "8080:8080"
web:
build: ./web
从 ./web/Dockerfile:
FROM java:8
ADD ./bignibou-server-1.0.jar /app/bignibou-server-1.0.jar
ADD ./spring-cloud.properties /app/spring-cloud.properties
ENV SPRING_CLOUD_PROPERTIESFILE=/app/spring-cloud.properties
ENV SPRING_PROFILES_ACTIVE=cloud
ENV SPRING_CLOUD_APP_NAME=bignibou
ENV CLEARDB_DATABASE_URL=mysql://root:root@192.168.1.12:3306/bignibou_dev
ENV REDISCLOUD_URL=redis://dummy:dummy@192.168.1.12:6379
ENV DYNO=dummy
EXPOSE 8080
ENTRYPOINT [ "java", "-jar", "/app/bignibou-server-1.0.jar" ]
当我执行 docker-compose scale web=2 然后执行 docker-compose up 时,我看到两个 tomcat 都在启动,但随后我无法通过浏览器访问它们...
谁能告诉我如何访问我的负载平衡应用程序?我努力了:
- 172.17.42.1:8080
- 172.17.42.1:80
无济于事(其中 172.17.42.1 是我的 docker ip)。
我需要进一步配置haproxy吗?