docker-compose 编写实战

version: "3"
services:
  servicename:   # 服务名称 同主机唯一
    image: harbor.com/test/servicename:version # 镜像
    container_name: servicename # 容器名称
    hostname: servicename # 容器主机名称
    #ports:
    #  - "80:80"  # 端口映射,注意:使用host网络模式不能设置端口,默认使用服务端口启动
    volumes:   # 挂在主机文件近容器
      - "/home/app_logs:/root/logs"
      - "/etc/localtime:/etc/localtime"
    restart: on-failure  # 容器自动重启策略 
    network_mode: "host" # 设置网络模式 
    logging:  # 设置容器日志
      driver: "json-file"
      options:
        tag: servicename
    cap_add:
      - ALL
    environment:  # 设置环境变量
      jvm_opts: "-Xms1g -Xmx1g -XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0 -Drocketmq.client.name=service_IP"
      sky_agent_id: "-Dskywalking.agent.instance_name=service_IP"
    deploy:  # 容器资源限制
      resources:
        limits:
          cpus: 8  # cpu核数限制
          memory: 2g  # 容器占用主机内存限制,注意:设置参数-XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0,否则堆外内存将大量使用主机内存 70.0为70%比例,可根据应用实际情况降低比例
        reservations: # 设置为容器预留的系统资源(随时可用)
          cpus: 0.5
          memory: 1g
    healthcheck:  # 设置容器健康检查
      test: ["CMD-SHELL", "curl -f http://localhost:80/actuator/health || exit 1"]  #健康检查接口,springboot自带,开启该接口即可,注意安全控制
      interval: "60s"
      timeout: "3s"
      start_period: "5s"
      retries: 3
posted @ 2021-11-17 17:40  蒲公英PGY  阅读(151)  评论(0编辑  收藏  举报