Docker 本地部署

适合需要二次开发或定制镜像的场景。在本地从源码构建镜像后启动。

1. 适用场景

  • 需要修改源码并验证效果
  • 内网环境无法拉取官方镜像
  • 想要自定义镜像(增减依赖、改配置)

2. 前置条件

除了 Docker 部署 中的 Docker 环境外,本地构建还需要:

组件 版本 用途
JDK 17 编译后端
Maven 3.8+ 后端依赖管理
Node.js v22.17.0(建议) 编译前端
NPM 10.9.2(建议) 前端依赖管理
Git 任意 拉取源码

💡 本地构建镜像本质上是用 Docker 执行构建过程,JDK/Node 等只用于本地调试或验证;若完全交给 Docker 构建,本机可只装 Docker。

3. 拉取源码

源码仓库:

# Gitee(国内访问更快)
git clone https://gitee.com/shop-sparker/spark-x.git
cd spark-x

# 或 GitHub(国外)
git clone https://github.com/nick-bai/SparkX.git
cd SparkX

4. 准备构建产物

4.1 后端打包

cd server
mvn clean package -DskipTests
cd ..

打包完成后会在 server/target/ 下生成 sparkx-server.jar(或类似名称)。

4.2 前端打包

cd admin
npm install
npm run build
cd ..

产物输出到 admin/dist/

💡 如果想完全跳过本地构建,直接用仓库提供的 Dockerfile(内部已封装构建步骤),可省略本节,直接进入下一步。

5. 本地构建镜像

仓库的 docker/ 目录下提供了 Dockerfile,在仓库根目录执行:
1、将 构建出来的 spark-server.jar 放到 docker下的 backend 目录下 alt text 2、将 前端构建出来 dist 放到 docker 下的 front 目录下 alt text config.js 可以单独修改admin访问的地址

6. 启动服务

cd docker
docker compose -f docker-compose-local.yml up -d

启动的服务与 Docker 部署 完全一致(postgres / redis / minio / server / web),只是 server 和 web 镜像来自上一步本地构建的结果。

7. 访问

http://localhost:8189

账号 admin / 密码 123456

8. 修改代码后的更新流程

本地部署的镜像是基于 docker/ 目录下的构建产物(jar / dist)打包的,所以改完代码后,需要重新打包并替换对应产物,再重建重启。

8.1 改后端代码

# 1. 重新打包后端
cd server
mvn clean package -DskipTests

# 2. 用新的 jar 替换 docker/backend 下的旧产物
cp target/sparkx-server.jar ../docker/backend/

# 3. 回到 docker 目录,重建并重启 server
cd ../docker
docker compose -f docker-compose-local.yml up -d --build sparkx-server

服务名 sparkx-serverdocker-compose-local.yml 中实际定义为准,下同。

8.2 改前端代码

# 1. 重新构建前端
cd admin
npm run build

# 2. 用新的 dist 替换 docker/front 下的旧产物
rm -rf ../docker/front/dist
cp -r dist ../docker/front/

# 3. 回到 docker 目录,重建并重启 web
cd ../docker
docker compose -f docker-compose-local.yml up -d --build sparkx-web

9. 自定义配置

如需修改端口、数据库密码等,编辑 docker/docker-compose-local.ymldocker/.env(若存在),常用配置项:

配置 位置 示例
对外端口 docker-compose-local.ymlports 8189:80
数据库密码 docker-compose-local.yml 环境变量 POSTGRES_PASSWORD
MinIO 凭证 docker-compose-local.yml 环境变量 MINIO_ROOT_USER

修改后需要 docker compose -f docker-compose-local.yml down && docker compose -f docker-compose-local.yml up -d 才生效。

10. 常见问题

10.1 Maven 下载依赖极慢

为 Maven 配置国内镜像(如阿里云),编辑 ~/.m2/settings.xml 加入 <mirrors> 配置。

10.2 npm install 慢或失败

npm config set registry https://registry.npmmirror.com

10.3 构建报内存不足

为 Docker 分配更多资源(Docker Desktop:Settings → Resources,内存调到 6GB 以上)。


部署完成后,前往 完成第一个智能体 开始使用。

知识星球
🌟 加入知识星球
解锁源码与设计详解
知识星球二维码 了解详情