docker-compose.yml 使用 deploy 对资源进行配置

version: "3"
  
 services:
  
   java8:
  
     container_name: sc-server
  
     restart: always
  
     image: java:8
  
     deploy:
  
       resources:
  
         limits:
  
           memory: 700m
           cpus: '0.50'
  
     volumes:
  
       - ./sc.jar:/sc.jar
  
       - ./logs:/data/logs
  
       - /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
  
     ports:
  
       - "8082:8080"
  
     environment:
  
       - TZ=Asia/Shanghai
  
     entrypoint: java -server -Dfile.encoding=utf-8 -Xms512m -Xms512m -jar -Dserver.port=8080  -Dspring.profiles.active=prod sc.jar


启动容器
docker-compose --compatibility up -d
说明:由于做了资源限制, 并且没有使用swarm, 所以要加上--compatibility参数, 不然会报错

查看资源
docker stats
说明:如果容器资源限制后,无法正常访问,有可能是服务启动的资源不够导致的。我们可以通过 docker stats 查看容器使用资源的百分比,这样可以判断限制的资源是否合理。