diff --git a/deploy/README.md b/deploy/README.md index 501a122..7188b3b 100644 --- a/deploy/README.md +++ b/deploy/README.md @@ -102,6 +102,7 @@ chmod +x deploy/scripts/*.sh ./deploy/scripts/deploy.sh --status # 状态 ./deploy/scripts/deploy.sh --down # 停容器(保留卷) ./deploy/scripts/deploy.sh --seed-only # 仅跑种子 +./deploy/scripts/deploy.sh --pull # 更新基础镜像后重新构建 ./deploy/scripts/backup-db.sh # 备份数据库到 ./backups docker compose -f docker-compose.prod.yml --env-file deploy/.env.prod logs -f api diff --git a/deploy/scripts/deploy.sh b/deploy/scripts/deploy.sh index ff0feb7..2e4948f 100755 --- a/deploy/scripts/deploy.sh +++ b/deploy/scripts/deploy.sh @@ -2,7 +2,8 @@ # 客服云 — 腾讯云 / 任意 Linux 一键生产部署 # 默认 HTTP_PORT=18080,避免与宿主机 Caddy(80/443) 冲突;见 deploy/caddy/Caddyfile.example # 用法: -# ./deploy/scripts/deploy.sh # 构建并启动 +# ./deploy/scripts/deploy.sh # 构建并启动(使用本地基础镜像) +# ./deploy/scripts/deploy.sh --pull # 先更新基础镜像再构建启动 # ./deploy/scripts/deploy.sh --seed # 启动后导入演示账号数据 # ./deploy/scripts/deploy.sh --pull-only # 仅 pull/up,不强制 rebuild(需已有镜像) # ./deploy/scripts/deploy.sh --down # 停止并移除容器(保留数据卷) @@ -251,11 +252,12 @@ print_summary() { } cmd_up() { - local seed=0 rebuild=1 + local seed=0 rebuild=1 pull=0 while [[ $# -gt 0 ]]; do case "$1" in --seed) seed=1 ;; - --pull-only) rebuild=0 ;; + --pull) pull=1 ;; + --pull-only) pull=1; rebuild=0 ;; *) ;; esac shift @@ -271,8 +273,12 @@ cmd_up() { ensure_env ensure_geoip - log "拉取基础镜像…" - compose pull postgres minio minio-init || true + if [[ "$pull" -eq 1 ]]; then + log "拉取基础镜像…" + compose pull postgres minio minio-init || true + else + log "使用本地基础镜像(需要更新时追加 --pull)" + fi if [[ "$rebuild" -eq 1 ]]; then log "构建并启动全部服务(api + web + db + minio)…"