-
Notifications
You must be signed in to change notification settings - Fork 15.9k
Expand file tree
/
Copy pathstart-docker-compose.sh
More file actions
58 lines (47 loc) · 1.66 KB
/
start-docker-compose.sh
File metadata and controls
58 lines (47 loc) · 1.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/bash
# JEECG Boot 一键启动脚本 (Linux Bash 版)
set -e
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m' # No Color
echo
echo -e "[1/5] 检查必要工具..."
# 检查必要工具
command -v docker > /dev/null 2>&1 || { echo -e "${RED}[错误] 未安装 docker,请先安装 Docker Desktop${NC}"; exit 1; }
command -v docker-compose > /dev/null 2>&1 || { echo -e "${RED}[错误] 未安装 docker-compose${NC}"; exit 1; }
command -v mvn > /dev/null 2>&1 || { echo -e "${RED}[错误] 未安装 Maven${NC}"; exit 1; }
command -v pnpm > /dev/null 2>&1 || { echo -e "${RED}[错误] 未安装 pnpm${NC}"; exit 1; }
echo -e "[2/5] 设置 hosts 文件..."
entry1="127.0.0.1 jeecg-boot-system"
entry2="127.0.0.1 jeecg-boot-mysql"
hostsFile="/etc/hosts"
# 检查第一个条目是否存在
if ! grep -q "$entry1" "$hostsFile"; then
echo "$entry1" | sudo tee -a "$hostsFile" > /dev/null
echo "已添加: $entry1"
else
echo "已存在: $entry1"
fi
# 检查第二个条目是否存在
if ! grep -q "$entry2" "$hostsFile"; then
echo "$entry2" | sudo tee -a "$hostsFile" > /dev/null
echo "已添加: $entry2"
else
echo "已存在: $entry2"
fi
echo -e "[3/5] 编译后端项目..."
cd jeecg-boot
mvn clean install -Pdocker
echo -e "[4/5] 编译前端项目..."
cd ../jeecgboot-vue3
pnpm install
pnpm run build:docker
echo -e "[5/5] 启动Docker容器..."
docker-compose up -d
echo
echo "========================================"
echo " JEECG Boot 启动成功 (请等待1分钟,待所有容器启动成功)"
echo "========================================"
echo "前端访问: http://localhost"
echo "后端API: http://localhost:8080/jeecg-boot"
echo