mirror of
https://github.com/Gloridust/WechatOnCloud.git
synced 2026-09-20 03:23:32 +08:00
用户面板 v1.4.6 却报「wechat-on-cloud:1.4.6 在本地与镜像仓库均不存在」——但该 tag 在 ghcr 与 Docker Hub 都在(实测 HTTP 200)。#107 同理:面板报 1.2.7 不存在,实测它也在(200)。 根因:probe 拿不到就返回 null,代码把「网络不通」与「tag 不存在」当同一回事 → 回退到本地可能几周前的 :latest → 用户面板是新版、实例却永远停在老镜像,还打出「很可能该版本未成功发布」的误导文案。 国内 NAS 极常见:docker pull 走加速镜像能通,但面板进程直连 registry API 不通。 修: - probeManifest 返回判别式结果:404=missing(仓库确认没有)/ 其它非2xx与网络错误=unreachable(未知)。 已实测两个仓库对不存在的 tag 均回 404(非 401),该判据成立。 - resolveInstanceImage:仅 missing 才回退 :latest;unreachable 时保持版本 tag(乐观),把判决权交给 真正的 docker pull(它有镜像加速配置,多半能拉到)。文案改为网络提示,不再误导。 - ensureImage:真兜底改为基于【真实拉取失败】——拉不到且本地有 :latest 才退而求其次,并明确告知 可能较旧、网络恢复后重新升级。