diff --git a/scripts/deploy-prod.sh b/scripts/deploy-prod.sh index 19f03b1..0bb5599 100755 --- a/scripts/deploy-prod.sh +++ b/scripts/deploy-prod.sh @@ -327,7 +327,9 @@ wait_http_ready() { # 清理部署过程中产生的 Docker 垃圾(旧镜像、构建缓存) # 每次 docker compose build 会生成新镜像,旧镜像变为 : -# 构建缓存(BuildKit)也会持续增长,不清理会轻松堆积几十 GB +# 构建缓存(BuildKit)也会持续增长,不清理会轻松堆积几十 GB。 +# 关键:用 --filter until=168h 只清超过 7 天的旧缓存,保留近期缓存(基础镜像层、 +# Go module / go-build 缓存),让下次构建复用,避免每次重新下载 node 镜像、重拉依赖。 docker_cleanup() { log "清理 Docker 垃圾..." local before after @@ -335,7 +337,7 @@ docker_cleanup() { before=$(docker system df --format '{{.TotalCount}}' 2>/dev/null || echo "?") docker image prune -f 2>/dev/null || true - docker builder prune -f 2>/dev/null || true + docker builder prune -f --filter until=168h 2>/dev/null || true after=$(docker system df --format '{{.TotalCount}}' 2>/dev/null || echo "?")