Skip to content

Docker Compose

健康检查

查看流程图示例
flowchart TB
    A[容器启动] --> A1{是否处在启动周期时间内}
    A1 --> |YES| A2[启动周期健康检查流程]
    A2 --> A3{是否通过健康检查}
    A3 --> |NO| A4[健康检查失败,不计入重试次数]
    A4 --> A1
    A7[服务标记为健康]
    A3 --> |YES| A7
    A7 --> A5[常态健康检查流程]
    A1 --> |NO| A5
    A5 --> |等待间隔interval| B[健康检查]
    B --> B1{健康检查是否成功}
    B1 --> |YES| A7
    A7 --> A5
    B1 --> |NO| B2{是否达到最大重试次数}
    B2 --> |YES| B3[将服务标记为不健康]
    B3 --> A5
    B2 --> |NO| A5
查看配置示例
healthcheck:
  test: ["CMD", "curl", "-f", "http://localhost"]
  interval: 1m30s
  timeout: 10s
  retries: 3
  start_period: 40s
  start_interval: 5s

资源限制

查看配置示例
services:
  frontend:
    image: example/webapp
    deploy:
      resources:
        limits:
          cpus: '0.50'
          memory: 50M
          pids: 100
        reservations:
          cpus: '0.25'
          memory: 20M