WatchTower自动Docker更新

Docker compose

services:
  watchtower:
    image: nickfedor/watchtower:latest
    container_name: watchtower
    restart: unless-stopped
    environment:
      # 时区,按你服务器实际改
      - TZ=Asia/Shanghai
      # 每小时整点检查更新(秒 分 时 日 月 周)
      - WATCHTOWER_SCHEDULE=0 0 * * * *
      # 更新后自动清理旧镜像
      - WATCHTOWER_CLEANUP=true
      # 只监控带有 enable 标签的容器(白名单机制)
      - WATCHTOWER_LABEL_ENABLE=true
      # 滚动重启,减少停机时间
      - WATCHTOWER_ROLLING_RESTART=true
      # 日志级别
      - WATCHTOWER_LOG_LEVEL=info
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    deploy:
      resources:
        limits:
          memory: 128M

需要更新的容器需要添加下方的labels:

labels:
  - "com.centurylinklabs.watchtower.enable=true"

如出现类似于:

level=error msg="Rolling restart compatibility validation failed"
error="container has dependencies incompatible with rolling restarts: \"claude-code-hub-app-1\" depends on
[claude-code-hub-redis claude-code-hub-postgres]"

这样的提示。可以把这个注释掉:

      # 滚动重启,减少停机时间
      # - WATCHTOWER_ROLLING_RESTART=true

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容