Watchtower 采用了 Spring 风格的 6 字段 cron 表达式,您应该按照以下格式来配置:

秒 分 时 日 月 星期

这里是一些常见的配置示例:

  1. 每天凌晨 1:00 运行:

    0 0 1 * * *
  2. 每小时运行一次:

    0 0 * * * *
  3. 每 5 分钟运行一次:

    0 */5 * * * *
  4. 每周一凌晨 2:30 运行:

    0 30 2 * * MON
  5. 每月 1 日和 15 日的上午 10:15 运行:

    0 15 10 1,15 * *

在您的 Docker Compose 文件中,您可以这样配置 Watchtower:

yaml

version: "3"
services:
  watchtower:
    image: containrrr/watchtower
    container_name: watchtower
    restart: always
    environment: 
      - TZ=Asia/Shanghai
      - WATCHTOWER_SCHEDULE=0 0 1 * * *  # 每天凌晨 1:00 运行
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    command: --cleanup

注意事项:

  1. 确保使用正确的 6 字段格式。

  2. 可以使用环境变量 WATCHTOWER_SCHEDULE 来设置计划,或者在 command 中使用 --schedule "0 0 1 * * *"

  3. 星期几可以使用数字(0-7,其中 0 和 7 都表示星期日)或者缩写(SUN, MON, TUE, WED, THU, FRI, SAT)。

  4. 请根据您的具体需求调整 cron 表达式。

记住,使用 6 字段格式可以让您更精确地控制 Watchtower 的运行时间,包括指定到秒级别的精度。