提供一键构建docker镜像的脚本,省掉手工操作步骤

This commit is contained in:
JEECG 2025-08-01 12:39:28 +08:00
parent 676fffa2c8
commit f1cad333da
4 changed files with 301 additions and 0 deletions

View File

@ -0,0 +1,95 @@
@echo off
:: JEECG Boot 一键启动脚本 (Windows CMD 版)
chcp 65001 > nul
set RED=31
set GREEN=32
echo.
echo [1/5] 检查必要工具...
where docker > nul 2>&1 || (
echo [错误] 未安装 docker请先安装 Docker Desktop
pause
exit /b 1
)
where docker-compose > nul 2>&1 || (
echo [错误] 未安装 docker-compose
pause
exit /b 1
)
where mvn > nul 2>&1 || (
echo [错误] 未安装 Maven
pause
exit /b 1
)
where pnpm > nul 2>&1 || (
echo [错误] 未安装 pnpm
pause
exit /b 1
)
echo [2/5] 设置 hosts 文件...
set "entry1=127.0.0.1 jeecg-boot-gateway"
set "entry2=127.0.0.1 jeecg-boot-mysql"
set "hostsFile=C:\Windows\System32\drivers\etc\hosts"
rem 检查第一个条目是否存在
findstr /c:"%entry1%" "%hostsFile%" >nul
if errorlevel 1 (
echo %entry1% >> "%hostsFile%"
echo 已添加: %entry1%
) else (
echo 已存在: %entry1%
)
rem 检查第二个条目是否存在
findstr /c:"%entry2%" "%hostsFile%" >nul
if errorlevel 1 (
echo %entry2% >> "%hostsFile%"
echo 已添加: %entry2%
) else (
echo 已存在: %entry2%
)
if %errorlevel% neq 0 (
echo [错误] 设置 hosts 文件失败,请检查权限!
pause
exit /b 1
)
echo [3/5] 编译后端项目...
cd jeecg-boot
call mvn clean install -Pdev,SpringCloud
if %errorlevel% neq 0 (
echo [错误] 后端编译失败!
pause
exit /b 1
)
cd ..
echo [4/5] 编译前端项目...
cd jeecgboot-vue3
call pnpm install
if %errorlevel% neq 0 (
echo [错误] 前端依赖安装失败!
pause
exit /b 1
)
call pnpm run build:dockercloud
if %errorlevel% neq 0 (
echo [错误] 前端编译失败!
pause
exit /b 1
)
cd ..
echo [5/5] 启动Docker容器...
docker-compose -f docker-compose-cloud.yml up -d
echo.
echo ========================================
echo JEECG Boot 启动成功 (请等待1分钟待所有容器启动成功
echo ========================================
echo 前端访问: http://localhost
echo 后端API: http://localhost:9999
echo.
pause

View File

@ -0,0 +1,53 @@
#!/bin/bash
# JEECG Boot 一键启动脚本 (Linux Bash 版)
set -e # 遇到错误时退出脚本
# 检查必要工具
echo "[1/5] 检查必要工具..."
command -v docker >/dev/null 2>&1 || { echo "[错误] 未安装 Docker请先安装 Docker"; exit 1; }
command -v docker-compose >/dev/null 2>&1 || { echo "[错误] 未安装 docker-compose"; exit 1; }
command -v mvn >/dev/null 2>&1 || { echo "[错误] 未安装 Maven"; exit 1; }
command -v pnpm >/dev/null 2>&1 || { echo "[错误] 未安装 pnpm"; exit 1; }
# 设置 hosts 文件
echo "[2/5] 设置 hosts 文件..."
entry1="127.0.0.1 jeecg-boot-gateway"
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 "[3/5] 编译后端项目..."
cd jeecg-boot
mvn clean install -Pdev,SpringCloud
echo "[4/5] 编译前端项目..."
cd ../jeecgboot-vue3
pnpm install
pnpm run build:dockercloud
echo "[5/5] 启动Docker容器..."
docker-compose -f docker-compose-cloud.yml up -d
echo
echo "========================================"
echo " JEECG Boot 启动成功 (请等待1分钟待所有容器启动成功"
echo "========================================"
echo "前端访问: http://localhost"
echo "后端API: http://localhost:9999"
echo

95
start-docker-compose.bat Normal file
View File

@ -0,0 +1,95 @@
@echo off
:: JEECG Boot 一键启动脚本 (Windows CMD 版)
chcp 65001 > nul
set RED=31
set GREEN=32
echo.
echo [1/5] 检查必要工具...
where docker > nul 2>&1 || (
echo [错误] 未安装 docker请先安装 Docker Desktop
pause
exit /b 1
)
where docker-compose > nul 2>&1 || (
echo [错误] 未安装 docker-compose
pause
exit /b 1
)
where mvn > nul 2>&1 || (
echo [错误] 未安装 Maven
pause
exit /b 1
)
where pnpm > nul 2>&1 || (
echo [错误] 未安装 pnpm
pause
exit /b 1
)
echo [2/5] 设置 hosts 文件...
set "entry1=127.0.0.1 jeecg-boot-system"
set "entry2=127.0.0.1 jeecg-boot-mysql"
set "hostsFile=C:\Windows\System32\drivers\etc\hosts"
rem 检查第一个条目是否存在
findstr /c:"%entry1%" "%hostsFile%" >nul
if errorlevel 1 (
echo %entry1% >> "%hostsFile%"
echo 已添加: %entry1%
) else (
echo 已存在: %entry1%
)
rem 检查第二个条目是否存在
findstr /c:"%entry2%" "%hostsFile%" >nul
if errorlevel 1 (
echo %entry2% >> "%hostsFile%"
echo 已添加: %entry2%
) else (
echo 已存在: %entry2%
)
if %errorlevel% neq 0 (
echo [错误] 设置 hosts 文件失败,请检查权限!
pause
exit /b 1
)
echo [3/5] 编译后端项目...
cd jeecg-boot
call mvn clean install -Pdocker
if %errorlevel% neq 0 (
echo [错误] 后端编译失败!
pause
exit /b 1
)
cd ..
echo [4/5] 编译前端项目...
cd jeecgboot-vue3
call pnpm install
if %errorlevel% neq 0 (
echo [错误] 前端依赖安装失败!
pause
exit /b 1
)
call pnpm run build:docker
if %errorlevel% neq 0 (
echo [错误] 前端编译失败!
pause
exit /b 1
)
cd ..
echo [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.
pause

58
start-docker-compose.sh Normal file
View File

@ -0,0 +1,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