1
This commit is contained in:
39
start.sh
Normal file
39
start.sh
Normal file
@@ -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===== 操作完成!====="
|
||||||
Reference in New Issue
Block a user