From 873f707a4057e39af3d043ce0149aa5cbdec3430 Mon Sep 17 00:00:00 2001 From: jeremygan2021 Date: Fri, 13 Feb 2026 01:24:50 +0800 Subject: [PATCH] 1 --- start.sh | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 start.sh diff --git a/start.sh b/start.sh new file mode 100644 index 0000000..73fc6d0 --- /dev/null +++ b/start.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +# 定义关键变量,方便后续维护修改 +TARGET_DIR="~/data/dev/market_page" +SUDO_PASSWORD="123quant-speed" + +# 脚本执行出错时立即退出 +set -e + +# 1. 切换到目标目录(先解析 ~ 为实际家目录) +echo "===== 切换到目标目录: $TARGET_DIR =====" +RESOLVED_DIR=$(eval echo $TARGET_DIR) +cd $RESOLVED_DIR || { + echo "错误:目录 $RESOLVED_DIR 不存在!" + exit 1 +} + +# 2. 停止并移除 Docker 容器(自动输入 sudo 密码) +echo -e "\n===== 停止 Docker 容器 =====" +echo $SUDO_PASSWORD | sudo -S docker compose down + +# 3. 删除 Docker 镜像(说明:这里默认删除 compose 关联的镜像,也可指定镜像名) +echo -e "\n===== 删除 Docker 镜像 =====" +# 方式1:删除 compose.yml 中定义的所有镜像(推荐) +echo $SUDO_PASSWORD | sudo -S docker compose down --rmi all +# 方式2:如果你想删除指定镜像,替换上面这行(示例,需修改为你的镜像名) +# echo $SUDO_PASSWORD | sudo -S docker rmi -f your-image-name:tag + +# 4. 拉取 Git 最新代码 +echo -e "\n===== 拉取 Git 代码 =====" +git pull || { + echo "警告:Git pull 失败(可能是本地有未提交的修改),脚本继续执行..." +} + +# 5. 重新启动 Docker 容器(后台运行) +echo -e "\n===== 启动 Docker 容器 =====" +echo $SUDO_PASSWORD | sudo -S docker compose up -d + +echo -e "\n===== 操作完成!=====" \ No newline at end of file