From d3c3fb546deaad58ecb018b30bbff0391704fe30 Mon Sep 17 00:00:00 2001 From: attacker Date: Fri, 19 Jun 2026 06:36:00 +0000 Subject: [PATCH] =?UTF-8?q?optimize:=20docker=20up=20=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=B8=85=E7=90=86=E5=8E=86=E5=8F=B2=20build=20cache=EF=BC=8C?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=20docker=20clean=20=E5=AD=90=E5=91=BD?= =?UTF-8?q?=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- run.sh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/run.sh b/run.sh index 9c14dfb..8b1d69a 100755 --- a/run.sh +++ b/run.sh @@ -319,6 +319,13 @@ cmd_docker() { banner "========== Docker Compose 启动 ==========" $DOCKER_COMPOSE up -d --build echo "" + # 清理历史 build cache,防止占满磁盘 + info "清理历史构建缓存..." + local before_prune=$(df -h / | awk 'NR==2{print $5}') + docker builder prune -f 2>/dev/null || true + local after_prune=$(df -h / | awk 'NR==2{print $5}') + info "磁盘使用: ${before_prune} → ${after_prune}" + echo "" info "等待服务就绪..." sleep 5 $DOCKER_COMPOSE ps @@ -349,6 +356,22 @@ cmd_docker() { ps|status) $DOCKER_COMPOSE ps ;; + clean|prune) + banner "========== Docker 缓存清理 ==========" + info "清理前磁盘使用:" + echo " $(df -h / | awk 'NR==2{print $3, "used /", $2, "total ("$5")"}')" + echo "" + info "清理 dangling 镜像..." + docker image prune -f 2>/dev/null || true + info "清理构建缓存..." + docker builder prune -f 2>/dev/null || true + info "清理未使用的网络..." + docker network prune -f 2>/dev/null || true + echo "" + info "清理后磁盘使用:" + echo " $(df -h / | awk 'NR==2{print $3, "used /", $2, "total ("$5")"}')" + success "清理完成" + ;; help|--help|-h) echo "Docker Compose 部署命令:" echo " ./run.sh docker up 构建并启动所有容器" @@ -357,6 +380,7 @@ cmd_docker() { echo " ./run.sh docker restart 重启容器" echo " ./run.sh docker logs 查看实时日志" echo " ./run.sh docker ps 查看容器状态" + echo " ./run.sh docker clean 清理构建缓存/无用镜像" ;; *) error "未知 docker 子命令: $action"