start-docker-compose.sh 1.7 KB

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