mirror of
https://github.com/Gloridust/WechatOnCloud.git
synced 2026-09-20 03:23:32 +08:00
fix(build): build-local 用 --provenance=false 出单一镜像,避免经典 API 仍解析到旧镜像
Docker 29 + containerd 镜像存储下,plain docker build -t :tag 会生成带 attestation 的 manifest list;docker image inspect / docker run / 面板用的 dockerode 解析 :tag 时不跟到 新 manifest list,仍指向同名旧镜像,导致重建实例还是用旧镜像。加 --provenance/--sbom=false 出单一镜像即可被经典 API 正确解析。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -18,11 +18,15 @@ VER="${WOC_VERSION:-dev-$(git -C "$ROOT" rev-parse --short HEAD 2>/dev/null || e
|
||||
PANEL_IMAGE="ghcr.io/${OWNER}/woc-panel:${TAG}"
|
||||
WECHAT_IMAGE="ghcr.io/${OWNER}/wechat-on-cloud:${TAG}"
|
||||
|
||||
# --provenance=false --sbom=false:本地构建出「单一镜像」而非带 attestation 的 manifest list。
|
||||
# 否则在 Docker 29 + containerd 镜像存储下,经典 API(docker image inspect / docker run / 面板用的
|
||||
# dockerode)解析 :tag 时不会跟到新 manifest list、仍指向同名旧镜像 → 重建实例还是用旧镜像(实测踩过)。
|
||||
# 面板靠 dockerode 跑实例,故实例镜像尤其必须用这俩参数。
|
||||
echo "==> 构建面板镜像 ${PANEL_IMAGE} (版本号 ${VER})"
|
||||
docker build --build-arg "WOC_VERSION=${VER}" -t "${PANEL_IMAGE}" "${ROOT}/panel"
|
||||
docker build --provenance=false --sbom=false --build-arg "WOC_VERSION=${VER}" -t "${PANEL_IMAGE}" "${ROOT}/panel"
|
||||
|
||||
echo "==> 构建微信实例镜像 ${WECHAT_IMAGE}"
|
||||
docker build -t "${WECHAT_IMAGE}" "${ROOT}/docker"
|
||||
docker build --provenance=false --sbom=false -t "${WECHAT_IMAGE}" "${ROOT}/docker"
|
||||
|
||||
echo
|
||||
echo "完成。本地镜像:"
|
||||
|
||||
Reference in New Issue
Block a user