方案一:通过docker-compose的scale命令实现
这种方式应该是官方推荐的,具体可参考以下链接
nginx负载: https://www.cnblogs.com/JulianHuang/p/12568814.html
HAProxy负载: https://www.cnblogs.com/shenjianping/p/12257642.html
# 重新编译镜像,重新创建容器
docker-compose up --force-recreate --build -d
方案二:不使用scale命令,直接上代码
Dockerfile (意义不大)
FROM java:8
EXPOSE 8080
VOLUME /tmp
ADD target/renren-fast.jar /app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
docker-compose.yml (关键来了)
version: '3'
services:
web:
container_name: web
image: renren/fast:latest
ports:
- "8080:8080"
environment:
- spring.profiles.active=dev
- server.port=8080
web1:
container_name: web1
image: renren/fast:latest
ports:
- "8081:8081"
environment:
- spring.profiles.active=dev
- server.port=8081
application.yml
# Tomcat
server:
tomcat:
uri-encoding: UTF-8
max-threads: 1000
min-spare-threads: 30
port: 8080
connection-timeout: 5000ms
servlet:
context-path: /renren-fast
spring:
# 环境 dev|test|prod
profiles:
active: dev
# jackson时间格式化
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
servlet:
multipart:
max-file-size: 100MB
max-request-size: 100MB
enabled: true
redis:
open: false # 是否开启redis缓存 true开启 false关闭
database: 0
host: localhost
port: 6379
password: # 密码(默认为空)
timeout: 6000ms # 连接超时时长(毫秒)
jedis:
pool:
max-active: 1000 # 连接池最大连接数(使用负值表示没有限制)
max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
max-idle: 10 # 连接池中的最大空闲连接
min-idle: 5 # 连接池中的最小空闲连接
mvc:
throw-exception-if-no-handler-found: true
亲测确实可行
善于将复杂问题简单化