Wukong AICRM Docker部署指南:30分钟快速搭建智能CRM系统
30款热门AI模型一站整合DeepSeek/GLM/Qwen 随心用限时 5 折。 点击领海量免费额度如果你正在寻找一个能快速上手的智能 CRM 系统并且希望部署过程足够简单那么 Wukong AICRM 结合 Docker 的方案很可能就是你需要的答案。很多开发者对 CRM 系统的印象还停留在复杂、笨重、配置繁琐的阶段但 Wukong AICRM 通过“对话式”交互和容器化部署正在改变这一认知。它不是一个需要你花几天时间搭建环境、配置数据库、解决依赖冲突的传统项目而是一个开箱即用的现代应用。这篇文章的核心判断是Wukong AICRM 的 Docker 部署流程其价值不在于“安装”本身而在于它通过容器化技术将一套复杂的 Java Vue 全栈应用封装成了一个近乎零配置的标准化服务包。这极大地降低了从“下载代码”到“看到登录页面”之间的技术门槛和时间成本。对于想快速体验、评估或进行二次开发的开发者来说Docker 是最优路径。我们将从以下几个关键角度展开确保你能完全掌握为什么 Docker 是部署 Wukong AICRM 的推荐方式对比源码部署理解容器化的核心优势。完整的 Docker 环境准备清单。不仅仅是安装 Docker还包括必要的系统配置和常见环境问题排查。一步步拆解 Wukong AICRM 的 Docker 部署流程。从拉取镜像到服务启动每个命令背后的逻辑。首次访问与基础功能验证。如何确认你的部署是成功的并初步体验系统。部署后必须进行的配置与优化。包括数据库持久化、端口映射、日志查看等生产级考量。当部署失败时如何高效排查问题提供一份从日志分析到网络检查的完整排查清单。从 Docker 部署到二次开发如何平滑过渡为需要修改代码的开发者指明路径。无论你是运维工程师、全栈开发者还是对智能 CRM 感兴趣的技术决策者这篇指南都将提供一条清晰、可落地的实践路径。1. 为什么 Docker 是部署 Wukong AICRM 的首选在深入命令行之前我们需要先理解这个选择背后的逻辑。Wukong AICRM 是一个基于 Java后端和 Vue前端生态构建的全栈应用。传统的部署方式意味着你需要配置 Java 运行环境安装特定版本的 JDK配置JAVA_HOME。安装并配置数据库如 MySQL创建数据库、用户并授权。安装 Node.js 环境用于构建前端 Vue 项目。解决后端依赖通过 Maven 或 Gradle 下载大量依赖包可能遇到版本冲突。构建前端资源执行npm install和npm run build可能遇到网络或依赖问题。配置应用参数修改数据库连接、服务器端口等配置文件。处理进程管理如何让应用在后台稳定运行如使用nohup或systemd。以上每一步都可能成为“拦路虎”尤其是对于不熟悉 Java 或 Vue 生态的开发者。而 Docker 方案将所有这些步骤提前固化在了镜像里。Docker 部署的核心优势环境一致性镜像包含了应用运行所需的所有依赖JDK, Node, 系统库等保证了“开发、测试、生产”环境的高度一致杜绝了“在我机器上是好的”这类问题。极简的启动流程你不需要关心内部的复杂构建过程只需一条docker run命令或一个docker-compose up命令即可获得一个完整可用的服务。资源隔离与安全应用运行在独立的容器中与宿主机系统隔离避免了环境污染也提升了安全性。快速回滚与扩展通过镜像版本管理可以轻松回滚到之前的稳定版本。结合 Docker Compose 或 Kubernetes可以方便地进行水平扩展。因此对于 Wukong AICRM官方推荐优先使用 Docker 一键安装这并非没有道理。它让开发者能够将精力集中在使用和评估系统功能上而非耗费在繁琐的部署准备工作中。2. 基础概念与核心组件解析在开始动手前快速了解 Wukong AICRM 和 Docker 相关的几个核心概念有助于你更好地理解整个部署架构。Wukong AICRM 是什么它是一个“智能对话式客户关系管理系统”。关键词解析客户关系管理 (CRM)核心功能是管理客户、销售线索、商机、合同等业务数据。智能对话式这意味着系统可能集成了自然语言处理能力允许用户通过更自然的对话或指令与系统交互提升操作效率可能是内置了AI助手或智能表单填充等功能。技术栈基于 Java Vue。通常意味着后端是 Spring Boot 等框架提供 RESTful API前端是 Vue.js 构建的单页面应用 (SPA)数据库很可能使用 MySQL 或 PostgreSQL。Docker 核心概念针对本次部署镜像 (Image)一个只读的模板包含了运行 Wukong AICRM 所需的完整文件系统、依赖和配置。你可以把它理解为一个“应用程序的安装包”。容器 (Container)镜像的运行实例。当你执行docker run时就从镜像创建了一个容器。容器是轻量级、可执行的独立环境。Dockerfile一个文本文件包含了一系列指令用于自动构建镜像。Wukong AICRM 的开发者已经用它构建好了官方镜像。Docker Compose一个用于定义和运行多容器 Docker 应用的工具。如果 Wukong AICRM 需要数据库等额外服务使用docker-compose.yml文件可以一键启动所有关联服务。卷 (Volume)用于持久化存储容器内数据如数据库文件、上传的附件、日志的机制。如果没有卷容器停止后其内部产生的数据会丢失。部署架构简图逻辑层面宿主机 (你的电脑/服务器) ├── Docker 引擎 │ ├── 容器 A: [Wukong AICRM 后端 (Java App 内嵌Web服务器)] │ │ └── 通过卷挂载: 配置文件、上传文件、日志 │ ├── 容器 B: [Wukong AICRM 前端 (Nginx 服务静态文件)] │ │ └── 通过卷挂载: 构建后的前端资源 │ └── 容器 C: [MySQL 数据库] *如果使用Docker Compose包含数据库 │ └── 通过卷挂载: 数据库数据文件 └── 网络: 容器间通过Docker网络通信前端通过反向代理访问后端API。理解这个架构能帮助你在后续配置端口、网络和持久化存储时做出正确决策。3. 环境准备与前置条件检查这是确保后续一切顺利的基础。请根据你的操作系统完成以下步骤。3.1 操作系统要求推荐: Linux 发行版 (如 Ubuntu 20.04/22.04 LTS, CentOS 7/8) 或 Windows 10/11 专业版/企业版/教育版支持 WSL2。macOS: 同样支持。Windows 家庭版需要安装 WSL2 (Windows Subsystem for Linux 2) 并在其中运行 Docker过程稍复杂。3.2 安装 Docker 引擎这是最核心的一步。请务必访问 Docker 官方文档获取最准确的安装方法。对于 Linux (以 Ubuntu 为例):# 1. 卸载旧版本如有 sudo apt-get remove docker docker-engine docker.io containerd runc # 2. 更新 apt 包索引并安装依赖 sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release # 3. 添加 Docker 官方 GPG 密钥 sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg # 4. 设置稳定版仓库 echo \ deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null # 5. 安装 Docker 引擎 sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin # 6. 验证安装 sudo docker run hello-world如果看到Hello from Docker!的信息说明安装成功。对于 Windows/macOS:请直接下载并安装Docker Desktop。安装程序会自动完成所有配置。Windows 用户安装时确保勾选“使用 WSL2 代替 Hyper-V”如果系统支持。安装完成后启动 Docker Desktop在任务栏看到鲸鱼图标即表示服务已运行。3.3 安装 Docker Compose (如果未集成)新版本的 Docker Desktop 和 Docker for Linux 安装包通常已经包含了docker compose作为插件。检查一下docker compose version # 或旧版命令 docker-compose --version如果显示版本号如Docker Compose version v2.17.2则已安装。如果命令未找到则需要单独安装。Linux 上安装 Docker Compose 插件# 对于使用 apt 的系统通常安装 docker-compose-plugin 包即可 sudo apt-get update sudo apt-get install docker-compose-plugin3.4 配置非 root 用户运行 Docker (Linux 可选但推荐)为了避免每次命令都加sudo可以将当前用户加入docker组。sudo usermod -aG docker $USER重要执行此命令后你需要完全注销并重新登录或者重启系统才能使组更改生效。3.5 验证 Docker 环境运行几个基本命令确保一切正常# 查看 Docker 版本 docker --version # 查看 Docker Compose 版本 docker compose version # 拉取一个测试镜像并运行容器 docker run -d -p 80:80 nginx:alpine然后打开浏览器访问http://localhost如果看到 Nginx 欢迎页说明 Docker 引擎运行、网络和端口映射都正常。测试完后可以删除这个容器# 列出运行中的容器找到 nginx 容器的 ID 或名字 docker ps # 停止容器 docker stop container_id_or_name # 删除容器 docker rm container_id_or_name4. 获取 Wukong AICRM 的 Docker 部署资源根据网络搜索材料Wukong AICRM 项目托管在 GitCode 上。Docker 部署通常有两种方式直接使用官方镜像如果项目提供了构建好的镜像到 Docker Hub 或其他仓库。使用项目提供的 Docker Compose 文件这是更常见的方式一个docker-compose.yml文件定义了应用所需的所有服务如 app, db, redis等及其配置。由于提供的材料有限我们假设最通用的场景项目提供了docker-compose.yml文件。我们需要先获取项目代码或至少获取这个配置文件。步骤 1克隆项目仓库或下载所需文件# 假设项目仓库地址请根据实际项目地址替换示例地址 git clone https://gitcode.com/your-org/Wukong-AICRM.git cd Wukong-AICRM如果网络条件不允许或只需要部署文件可以尝试在项目仓库页面直接下载docker-compose.yml或docker-compose.yaml文件以及可能存在的.env环境变量文件。步骤 2查看项目根目录结构进入项目目录后使用ls -la查看文件。重点关注以下文件docker-compose.yml/docker-compose.yaml核心部署文件。.env或env.example环境变量配置文件。README.md通常包含了最新的部署说明。ls -la步骤 3理解 Docker Compose 文件如果找到了docker-compose.yml用编辑器打开它理解其结构。一个典型的全栈应用 Compose 文件可能如下所示# docker-compose.yml 示例结构 version: 3.8 services: mysql: image: mysql:8.0 container_name: wukong-mysql environment: MYSQL_ROOT_PASSWORD: rootpassword123 MYSQL_DATABASE: wukong_crm MYSQL_USER: wukong_user MYSQL_PASSWORD: userpassword123 volumes: - mysql_data:/var/lib/mysql ports: - 3306:3306 networks: - wukong-network restart: unless-stopped backend: build: ./backend # 或者使用 image: some-registry/wukong-backend:latest container_name: wukong-backend depends_on: - mysql environment: SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/wukong_crm?useUnicodetruecharacterEncodingutf8serverTimezoneAsia/Shanghai SPRING_DATASOURCE_USERNAME: wukong_user SPRING_DATASOURCE_PASSWORD: userpassword123 volumes: - ./logs:/app/logs - ./uploads:/app/uploads ports: - 8080:8080 networks: - wukong-network restart: unless-stopped frontend: build: ./frontend # 或者使用 image: some-registry/wukong-frontend:latest container_name: wukong-frontend depends_on: - backend ports: - 80:80 networks: - wukong-network restart: unless-stopped networks: wukong-network: driver: bridge volumes: mysql_data:关键点解读services: 定义了三个服务数据库 (mysql)、后端 (backend)、前端 (frontend)。depends_on: 定义了启动顺序backend依赖mysqlfrontend依赖backend。environment: 向容器内注入环境变量用于配置应用如数据库连接串。volumes: 将宿主机目录挂载到容器内实现数据持久化如数据库文件mysql_data、日志logs、上传文件uploads。ports: 端口映射格式为宿主机端口:容器端口。例如8080:8080表示将容器内的 8080 端口映射到宿主机的 8080 端口。networks: 创建一个自定义的 Docker 网络让三个服务在同一个网络内可以通过服务名如mysql互相访问。restart: unless-stopped: 确保容器在意外退出时除非手动停止会自动重启。注意实际的docker-compose.yml文件可能有所不同请以项目提供的为准。如果项目使用预构建的镜像image:则不需要build:上下文。5. 核心部署流程与命令详解假设我们已经有了一个可用的docker-compose.yml文件。接下来我们将分步启动整个 Wukong AICRM 系统。5.1 启动前的配置调整非常重要在运行docker-compose up之前强烈建议你先修改默认的密码等敏感配置。1. 检查或创建.env文件很多项目会使用.env文件来管理环境变量避免将密码硬编码在docker-compose.yml中。查看项目根目录是否有.env.example文件复制一份并重命名为.env。cp .env.example .env然后编辑.env文件修改其中的变量值尤其是数据库密码# .env 文件示例内容 MYSQL_ROOT_PASSWORDYourStrongRootPassword123! MYSQL_DATABASEwukong_crm MYSQL_USERwukong MYSQL_PASSWORDYourStrongUserPassword456! # 后端服务端口 BACKEND_PORT8080 # 前端服务端口 FRONTEND_PORT802. 修改docker-compose.yml中的敏感配置如果项目没有.env文件你需要直接编辑docker-compose.yml找到environment部分修改所有MYSQL_*_PASSWORD等字段使用强密码替换默认值。3. 检查端口冲突确保宿主机上的8080后端和80前端端口没有被其他程序占用。如果被占用可以在docker-compose.yml中修改ports映射例如将8080:8080改为8081:8080。5.2 启动所有服务在包含docker-compose.yml文件的目录下执行以下命令方式一前台启动用于调试和查看日志docker-compose up这个命令会拉取所需的镜像如果本地没有然后启动所有服务并将所有容器的日志输出到当前终端。你可以实时看到启动过程。按CtrlC可以停止所有服务。方式二后台启动用于正式运行docker-compose up -d-d参数代表“分离模式”detached服务会在后台运行。这是生产环境推荐的方式。5.3 观察启动过程与日志启动后使用以下命令观察服务状态和日志查看所有容器状态docker-compose ps输出应显示所有服务的状态为Up健康或Up (healthy)。查看特定服务的日志例如后端docker-compose logs backend # 或者持续跟踪日志类似 tail -f docker-compose logs -f backend在日志中你应该关注数据库连接是否成功 (Connected to database)。应用是否成功启动 (Started Application in X seconds)。是否有任何ERROR或WARN级别的日志。查看所有服务的聚合日志docker-compose logs5.4 关键步骤解释与可能的问题镜像拉取第一次运行会从 Docker Hub 拉取mysql,nginx等基础镜像以及项目自定义镜像耗时取决于网速。数据库初始化MySQL 容器首次启动时会根据环境变量创建数据库和用户。你可以在后端容器的日志中看到创建数据表如果应用自带初始化SQL或启动 Flyway/Liquibase 迁移的日志。后端应用启动Spring Boot 应用启动需要时间请耐心等待直到看到Started Application日志。如果启动失败最常见的原因是数据库连接问题密码错误、网络不通或依赖缺失。前端服务启动Nginx 启动通常很快它会提供编译好的静态文件HTML, CSS, JS。6. 访问系统与功能验证假设所有服务都已成功启动并且你使用了默认的端口映射前端80后端8080。6.1 访问前端界面打开浏览器访问http://localhost或如果前端映射到其他端口如8088http://localhost:8088你应该能看到 Wukong AICRM 的登录页面。6.2 获取初始账号密码初始的管理员账号和密码通常有以下几种方式设置在项目 README 或部署文档中明确说明。例如账号admin密码admin123。通过环境变量注入。检查docker-compose.yml或.env文件中是否有类似ADMIN_USERNAME,ADMIN_PASSWORD的变量。系统首次启动时在日志中打印。仔细查看后端容器的启动日志可能会有一行类似Initial admin user created: admin / xxxxxx的信息。使用默认的通用密码。尝试admin/admin,admin/123456等常见组合仅用于测试正式环境务必修改。安全警告首次登录后请立即在系统设置中修改管理员密码6.3 验证后端 API 服务前端页面能打开说明前端服务正常。我们还需要验证后端 API 是否正常工作。 打开浏览器或使用curl命令访问后端健康检查端点Spring Boot 应用通常有/actuator/healthhttp://localhost:8080/actuator/health或者如果后端服务有自定义的健康检查http://localhost:8080/api/health预期返回一个 JSON 响应包含{status:UP}或类似信息。6.4 基础功能测试登录系统后尝试进行以下操作以验证核心模块是否正常用户管理查看用户列表尝试创建一个新用户。客户管理创建一条新的客户记录填写基本信息。线索/商机管理如果系统有销售管道功能尝试创建一个新的销售线索或商机。系统设置浏览系统设置页面查看各项配置是否能正常加载。如果以上功能都能正常使用恭喜你Wukong AICRM 已经通过 Docker 成功部署并基本可用7. 部署后配置、优化与数据持久化一次成功的docker-compose up只是开始。要让这个系统稳定、可靠地运行还需要进行一些关键配置。7.1 数据持久化配置防止数据丢失这是最重要的一步。Docker 容器本身是无状态的停止或删除容器后容器内产生的所有数据数据库记录、上传的文件、日志都会丢失。我们必须通过“卷”将数据存储到宿主机。在之前的docker-compose.yml示例中我们已经看到了volumes的配置volumes: mysql_data: # 这是一个命名卷Docker管理其存储位置 - ./logs:/app/logs # 这是绑定挂载将宿主机的 ./logs 目录挂载到容器内 - ./uploads:/app/uploads命名卷 (mysql_data)Docker 会在宿主机上找一个位置通常是/var/lib/docker/volumes/...来存储数据。优点是管理方便迁移时不易出错。查看其实际路径docker volume inspect wukong-aicrm_mysql_data。绑定挂载 (./logs:/app/logs)直接将宿主机的当前目录下的logs文件夹映射到容器内。优点是直观方便直接在宿主机上查看和备份日志。建议对于数据库数据 (mysql_data)使用命名卷是更安全、标准的做法。对于应用日志 (./logs) 和用户上传的文件 (./uploads)使用绑定挂载方便日常管理和备份。务必确保这些宿主机目录存在并且 Docker 进程有读写权限。可以在运行docker-compose up前创建它们mkdir -p ./logs ./uploads7.2 修改默认端口避免冲突如果宿主机 80 或 8080 端口已被占用修改docker-compose.yml中的ports部分services: backend: ports: - 18080:8080 # 将宿主机端口改为 18080 frontend: ports: - 8088:80 # 将宿主机端口改为 8088修改后需要重启服务docker-compose down docker-compose up -d7.3 配置反向代理与域名生产环境在生产环境中通常不会直接通过 IP端口访问。我们会使用 Nginx 或 Caddy 作为反向代理绑定域名并配置 HTTPS。一个简单的 Nginx 配置示例 (/etc/nginx/conf.d/wukong.conf)server { listen 80; server_name crm.yourcompany.com; # 你的域名 location / { proxy_pass http://localhost:8088; # 指向 Docker 前端容器的宿主机端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location /api/ { proxy_pass http://localhost:18080; # 指向 Docker 后端容器的宿主机端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }配置完成后重载 Nginxsudo nginx -s reload。然后就可以通过http://crm.yourcompany.com访问系统了。HTTPS 配置请使用 Let‘s Encrypt 的 Certbot 等工具。7.4 日志管理与查看应用日志对于排查问题至关重要。我们已经将日志挂载到了./logs目录。# 查看最新的后端日志 tail -f ./logs/application.log # 查看特定日期的日志 cat ./logs/application-2023-10-27.log建议在docker-compose.yml中为后端服务配置日志轮转策略如果应用本身不支持或者使用 Docker 的日志驱动如json-file配合max-size和max-file选项。7.5 备份与恢复策略定期备份定期备份定期备份数据库备份最核心的数据。可以使用mysqldump命令定期备份命名卷中的数据。# 进入 mysql 容器执行备份 docker exec wukong-mysql mysqldump -u root -pYourStrongRootPassword123! wukong_crm backup_$(date %Y%m%d).sql # 或者直接从宿主机连接到容器内的MySQL进行备份需要端口映射 mysqldump -h 127.0.0.1 -P 3306 -u root -pYourStrongRootPassword123! wukong_crm backup.sql上传文件备份直接备份./uploads目录。整个项目备份备份整个项目目录包括docker-compose.yml,.env,./logs,./uploads以及数据库备份文件。恢复将备份的 SQL 文件导入到新的或空的数据库中即可。8. 常见问题与排查思路部署过程很少一帆风顺。下面是一个常见问题排查清单你可以像查字典一样使用它。问题现象可能原因排查方式解决方案docker-compose up失败提示Cannot connect to the Docker daemonDocker 服务未启动或当前用户无权限。1. 运行systemctl status docker(Linux) 或检查 Docker Desktop 是否运行。2. 运行docker ps测试。1. 启动 Docker 服务sudo systemctl start docker。2. 将用户加入docker组并重新登录。前端页面无法访问 (localhost连接被拒绝)1. 前端容器未启动。2. 端口映射错误或冲突。3. 防火墙阻止。1.docker-compose ps查看frontend服务状态。2.docker-compose logs frontend查看日志。3.netstat -tulnp | grep :80检查端口占用。1. 根据日志修复错误后重启。2. 修改docker-compose.yml中的端口映射。3. 配置防火墙开放对应端口。后端启动失败日志显示数据库连接错误1. 数据库配置URL、用户名、密码错误。2. MySQL 容器未完全启动。3. 网络问题后端容器无法访问mysql主机。1. 检查.env或docker-compose.yml中的数据库环境变量。2.docker-compose logs mysql查看数据库启动日志确认已初始化完成。3. 进入后端容器测试网络docker exec -it wukong-backend ping mysql。1. 修正环境变量确保密码一致。2. 等待数据库完全启动可能需要几十秒。3. 确保depends_on配置正确且服务在同一网络。登录系统时提示“用户名或密码错误”1. 初始密码不对。2. 数据库初始化失败用户未创建。1. 查阅项目文档确认默认账号密码。2. 查看后端启动日志寻找用户创建的记录。3. 直接连接 MySQL 容器查询用户表。1. 使用正确的初始密码。2. 如果用户未创建可能需要手动在数据库插入用户或重启容器让初始化脚本重新运行。上传文件功能报错或文件丢失1. 上传目录挂载卷权限问题。2. 目录不存在。1.docker-compose exec backend ls -la /app/uploads查看容器内目录权限。2. 检查宿主机./uploads目录是否存在及权限。1. 确保宿主机目录存在且 Docker 进程有写权限。可尝试chmod 777 ./uploads仅用于测试生产环境需严格授权。2. 在docker-compose.yml中明确设置用户user: 1000:1000宿主机用户UID:GID。服务运行一段时间后自动停止1. 容器内存或CPU资源不足。2. 应用内部错误导致进程退出。3. 宿主机重启后容器未自动重启。1.docker-compose logs --tail100查看停止前的日志。2.docker stats查看容器资源使用情况。1. 在docker-compose.yml中为服务设置资源限制和预留deploy.resources.limitsreservations。2. 修复应用代码或配置错误。3. 使用restart: always或restart: unless-stopped策略。想修改配置后重启单个服务修改了某个服务的配置或代码。-使用docker-compose up -d --no-deps --build service_name。例如只重启后端docker-compose up -d --no-deps --build backend。--build会重新构建镜像如果使用build:。通用排查命令包# 1. 查看所有容器状态 docker-compose ps # 2. 查看所有服务日志最后50行 docker-compose logs --tail50 # 3. 查看特定服务详细日志并持续跟踪 docker-compose logs -f backend # 4. 进入容器内部进行检查如检查配置文件 docker-compose exec backend bash # 5. 检查容器内进程 docker-compose exec backend ps aux # 6. 检查容器内网络连通性如测试数据库 docker-compose exec backend curl http://mysql:3306 # 7. 彻底停止并清理所有容器、网络数据卷不会被删除 docker-compose down # 8. 停止并清理所有容器、网络、以及**命名卷**危险会丢失数据库数据 # docker-compose down -v9. 从 Docker 部署到源码开发如何平滑过渡Docker 一键部署是为了快速体验和运行。如果你需要对 Wukong AICRM 进行二次开发就需要转向源码模式。根据网络搜索材料项目也支持源码手动安装。过渡的关键在于理解 Docker 部署与源码开发环境之间的对应关系。1. 环境对齐Java 版本查看Dockerfile或项目文档确定后端所需的 JDK 版本如 OpenJDK 17。Node.js 版本查看前端package.json或文档确定所需的 Node 版本如 Node 18。数据库在本地或开发服务器安装相同版本的 MySQL。2. 获取源码git clone https://gitcode.com/your-org/Wukong-AICRM.git cd Wukong-AICRM3. 后端开发环境搭建导入后端项目通常是一个 Maven 或 Gradle 项目到你的 IDE如 IntelliJ IDEA, Eclipse。根据backend/src/main/resources/application.yml或application.properties配置本地数据库连接指向你刚安装的 MySQL。运行主启动类通常是*Application.java。4. 前端开发环境搭建进入前端目录如frontend。运行npm install或yarn install安装依赖。运行npm run serve启动开发服务器它通常会代理 API 请求到本地运行的后端localhost:8080。5. 开发-调试循环修改后端代码后IDE 可以热部署或手动重启。修改前端代码后开发服务器会热重载。此时你拥有完整的代码感知、断点调试能力。6. 构建与回归 Docker开发完成后你需要将改动打包回 Docker 镜像。后端通常通过mvn clean package生成 JAR 包然后更新Dockerfile中的 JAR 文件引用最后docker build -t your-image-name .。前端运行npm run build生成静态文件到dist目录确保Dockerfile正确复制了这些文件。更新docker-compose.yml中的镜像标签然后使用docker-compose up -d进行集成测试。核心建议在开发初期可以继续使用 Docker 来运行数据库等依赖服务而只在本地运行你正在开发的应用服务后端或前端通过配置连接到 Docker 容器中的数据库。这能最大程度保持环境一致性。至此你已经掌握了从零开始使用 Docker 部署 Wukong AICRM 的完整流程并具备了后续维护、排查和向源码开发过渡的能力。Docker 的价值在于将复杂留给自己将简单留给用户。通过本文的步骤你应该能在 30 分钟内将一个功能完整的智能 CRM 系统运行起来并开始探索其业务功能。记住对于生产环境务必仔细配置数据持久化、网络安全、备份策略和监控告警。 30款热门AI模型一站整合DeepSeek/GLM/Qwen 随心用限时 5 折。 点击领海量免费额度