chore: 仅保留 pull-and-restart.sh 与 restart.sh,两脚本均检测并安装 Docker;删除其余脚本与 .bat
Made-with: Cursor
This commit is contained in:
46
restart.sh
46
restart.sh
@@ -1,14 +1,48 @@
|
||||
#!/usr/bin/env bash
|
||||
# 仅重启项目(不拉代码),适用于配置/环境变更后重启
|
||||
# 行尾:LF(.gitattributes)
|
||||
# 用法:cd /home/yxd/project/yh_web && ./restart.sh
|
||||
# 或:PROJECT_ROOT=/home/yxd/project/yh_web ./restart.sh
|
||||
# 直接重启:检测 Docker 并一键安装(无则安装),再 docker compose 重启,不拉代码
|
||||
# 用法:cd 项目根 && chmod +x restart.sh && ./restart.sh
|
||||
# 行尾:LF
|
||||
set -e
|
||||
ROOT="${PROJECT_ROOT:-$(cd "$(dirname "$0")" && pwd)}"
|
||||
cd "$ROOT"
|
||||
|
||||
run_sudo() { sudo "$@"; }
|
||||
|
||||
# ---------- 检测并安装 Docker ----------
|
||||
ensure_docker() {
|
||||
if command -v docker >/dev/null 2>&1 && docker info >/dev/null 2>&1; then
|
||||
echo "Docker 已就绪."
|
||||
return 0
|
||||
fi
|
||||
echo "未检测到 Docker 或未启动,正在安装..."
|
||||
if command -v apt-get >/dev/null 2>&1; then
|
||||
run_sudo apt-get update -qq
|
||||
run_sudo apt-get install -y docker.io docker-compose-plugin 2>/dev/null || run_sudo apt-get install -y docker.io docker-compose
|
||||
run_sudo systemctl start docker
|
||||
run_sudo systemctl enable docker
|
||||
elif command -v dnf >/dev/null 2>&1 || command -v yum >/dev/null 2>&1; then
|
||||
if command -v dnf >/dev/null 2>&1; then
|
||||
run_sudo dnf install -y docker docker-compose-plugin 2>/dev/null || run_sudo dnf install -y docker docker-compose
|
||||
else
|
||||
run_sudo yum install -y docker docker-compose-plugin 2>/dev/null || run_sudo yum install -y docker docker-compose
|
||||
fi
|
||||
run_sudo systemctl start docker
|
||||
run_sudo systemctl enable docker
|
||||
else
|
||||
echo "无法自动安装 Docker,请先安装 Docker 与 Docker Compose 后重试."
|
||||
exit 1
|
||||
fi
|
||||
echo "Docker 安装完成."
|
||||
}
|
||||
|
||||
ensure_docker
|
||||
compose_cmd() { run_sudo docker compose "$@" 2>/dev/null || run_sudo docker-compose "$@"; }
|
||||
|
||||
echo "重启 yh_web ($ROOT)..."
|
||||
[ -f server/.env ] && sed -i 's/\r$//' server/.env
|
||||
[ -f server/.env ] && set -a && source server/.env && set +a
|
||||
docker compose down 2>/dev/null || docker-compose down
|
||||
docker compose up -d 2>/dev/null || docker-compose up -d
|
||||
|
||||
compose_cmd down 2>/dev/null || true
|
||||
compose_cmd up -d
|
||||
|
||||
echo "完成. api:9527 web:9528 admin:9529"
|
||||
|
||||
Reference in New Issue
Block a user