跳到主要内容

Docker微服务方式启动(新版)

适用v3.8.2+版本 进一步简化了Docker一键启动前后端(微服务模式),方便用户快速部署和使用系统。

说明:为了快速启动,后台只做了必须配置,其他配置比如云存储、AI账号配置,请手工修改Nacos中dev配置文件。 前提:运行机器环境需要提前安装jdk17+、docker、docker-compose、nodejs、pnpm、Maven等,安装手册见文档。

通过脚本快速启动​

1. 下载项目​

git clone https://github.com/jeecgboot/JeecgBoot.git

2. 执行项目下的脚本​

  • window脚本 start-docker-compose-cloud.bat

  • linux脚本 start-docker-compose-cloud.sh

通过手工操作启动​

1. 下载项目​

git clone https://github.com/jeecgboot/JeecgBoot.git

2. 配置host​

#必要项
127.0.0.1 jeecg-boot-gateway


#可选项
127.0.0.1 jeecg-boot-mysql
127.0.0.1 jeecg-boot-redis
127.0.0.1 jeecg-boot-nacos
127.0.0.1 jeecg-boot-system
127.0.0.1 jeecg-boot-sentinel
127.0.0.1 jeecg-boot-xxljob
127.0.0.1 jeecg-boot-rabbitmq

3. 编译后台项目​

进入后台

cd JeecgBoot/jeecg-boot

编译

mvn clean install -Pdev,SpringCloud

4. 编译前端项目​

进入前端

cd JeecgBoot/jeecgboot-vue3

编译

pnpm i
pnpm run build:dockercloud

5. 启动镜像容器组​

进入JeecgBoot根路径

执行docker命令

docker-compose -f docker-compose-cloud.yml up -d

手工执行升级SQL: 微服务模式默认关闭了 flyway(Nacos 配置 jeecg-dev.yaml 中 spring.flyway.enabled: false),升级SQL不会自动执行。初始化脚本 jeecgboot-mysql-5.7.sql 只到上一个版本,本版本新增的菜单、按钮权限等需要手工补齐,否则角色授权里看不到新权限、相关按钮没有权限。

操作:查询 jeecg-boot 库 flyway_schema_history 表的最后一条版本号,然后按版本号顺序,手工执行 jeecg-system-start/src/main/resources/flyway/sql/mysql 目录下比它新的 V*.sql 脚本。例如 3.9.6 版本:初始化脚本记录到 3.9.5.0,需依次执行 V3.9.5_1 ~ V3.9.5_4、V3.9.6_0 开头的脚本。

Docker组启动成功

6. 访问系统​

等待1分钟,待mysql数据初始化完成后,访问系统

7. 发现问题​

采用docker启动应用发现积木报表的数据源无法连接,报错如下:

 数据库连接失败:Communications link failure The last packet sent successfully to the server
was 0 milliseconds ago. The driver has not received any packets from the server.

解决方案: 采用docker-compose-cloud.yml启动,需要把数据库连接的127.0.0.1改成jeecg-boot-mysql