Watchtower.md 2.1 KB


title: Watchtower date: 2024-12-14T16:32:32+08:00

lastmod: 2025-09-25T11:22:46+08:00

Watchtower

version: '3.8'

services:
  watchtower:
    image: containrrr/watchtower:latest
    container_name: watchtower-updater
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    restart: unless-stopped
    environment:
      - TZ=Asia/Shanghai                   # 时区
      - WATCHTOWER_CLEANUP=true            # 删除旧镜像
      - WATCHTOWER_SCHEDULE=0 0 4 * * *    #定时触发  
      - WATCHTOWER_POLL_INTERVAL=86400     #更新时间24小时
      - WATCHTOWER_REMOVE_VOLUMES=true     # 更新后删除匿名卷
      - WATCHTOWER_INCLUDE_RESTARTING=true # 重启容器
      - WATCHTOWER_RUN_ONCE=true           # 只允许一次更新
    command:
      - clouddrive2                # 容器名称或容器ID
      - portainer
      - zt
    healthcheck:
      test: ["CMD", "/watchtower", "--health-check"]  # 启用健康检查
      interval: 30s  # 每 30 秒进行一次健康检查
      retries: 3     # 健康检查失败后重试 3 次
      start_period: 30s  # 启动后等待 30 秒后开始健康检查
      timeout: 10s    # 健康检查超时 10 秒

version: '3.8'

services:
  watchtower:
    image: containrrr/watchtower:latest
    container_name: watchtower-updater
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    restart: unless-stopped
    environment:
      - TZ=Asia/Shanghai                   # 时区
      - WATCHTOWER_CLEANUP=true            # 删除旧镜像
      - WATCHTOWER_SCHEDULE=0 0 4 * * *    # 定时触发  
      - WATCHTOWER_REMOVE_VOLUMES=true     # 更新后删除匿名卷
      - WATCHTOWER_INCLUDE_RESTARTING=true # 重启容器
 
    healthcheck:
      test: ["CMD", "/watchtower", "--health-check"]  # 启用健康检查
      interval: 30s        # 每 30 秒进行一次健康检查
      retries: 3           # 健康检查失败后重试 3 次
      start_period: 30s    # 启动后等待 30 秒后开始健康检查
      timeout: 10s         # 健康检查超时 10 秒