Skip to content

fix: watchtower镜像过旧#73

Open
qssn70 wants to merge 1 commit into
ZeroPointSix:mainfrom
qssn70:main
Open

fix: watchtower镜像过旧#73
qssn70 wants to merge 1 commit into
ZeroPointSix:mainfrom
qssn70:main

Conversation

@qssn70

@qssn70 qssn70 commented May 31, 2026

Copy link
Copy Markdown

Pull request type / PR 类型

Please check the type of change your PR introduces / 请勾选 PR 引入的更改类型:

  • [√] Bugfix / Bug 修复
  • Feature / 新功能
  • Code style update (formatting, renaming) / 代码风格更新(格式化、重命名)
  • Refactoring (no functional changes, no api changes) / 重构(无功能更改、无 API 更改)
  • Build related changes / 构建相关更改
  • Documentation content changes / 文档内容更改
  • Other (please describe) / 其他(请描述):

What is the current behavior? / 当前行为是什么?

Issue #65 由于原版watchtower已archived,其硬编码的 API v1.25 在 Docker v29 已不被兼容,导致watchtower镜像在启动时会报错:

level=error msg="Error response from daemon: client version 1.25 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version"

从而无法正常启动

What is the new behavior? / 新行为是什么?

切换到nicholas-fedor维护的fork

Release notes / 发布日志

fix: watchtower镜像过旧

Issue [ZeroPointSix#65](ZeroPointSix#65)
由于原版watchtower已archived,其硬编码的 API v1.25 在 Docker v29 已不被兼容,导致watchtower镜像在启动时会报错:
```
level=error msg="Error response from daemon: client version 1.25 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version"
```
从而无法正常启动

解决方案:切换到nicholas-fedor维护的fork
@ZeroPointSix

Copy link
Copy Markdown
Owner

这个简单选择latest版本,我记得会出现兼容性问题,后续我排查一下如何迁移升级

Copy link
Copy Markdown
Owner

总体结论:当前修复方向能绕开旧 containrrr/watchtower 的 Docker API 兼容问题,但直接切到 nickfedor/watchtower:latest 风险偏高,建议暂缓合并。

关键发现:

  • 使用 latest 作为自动更新服务镜像会让生产部署不可复现。watchtower 本身会影响容器更新流程,一旦上游 latest 行为或启动参数变化,后续重拉镜像可能在未改代码的情况下改变生产行为。建议固定到已验证的具体 tag 或 digest。
  • PR 描述写的是 nicholas-fedor 维护的 fork,但 compose 实际使用 nickfedor/watchtower:latest。需要确认这是同一个可信镜像源,并在 PR 描述里补清楚镜像来源、版本依据和迁移原因。
  • 当前没有看到 Docker v29 下的启动验证记录,也没有确认现有 volume/env/label 配置仍兼容 fork 版本。建议至少补一次 docker compose config、服务启动日志和 watchtower 连接 Docker daemon 的 smoke 结果。

优先级建议:

  • 阻塞:固定镜像版本或 digest,避免 latest 进入生产 compose。
  • 高:补充 fork 镜像来源与 Docker v29 兼容验证。
  • 中:如 fork 与原版 watchtower 参数有差异,补充迁移说明。

后续建议:

  • 若短期只为恢复生产,可先选择一个已验证 tag/digest 做最小修复;长期再单独评估 watchtower 替代方案或升级路径。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants