
在实际企业级 CRM 系统选型与部署中,悟空 CRM(WukongCRM)因其开源、功能全面和 Java 技术栈而受到许多团队的关注。然而,从源码编译、依赖配置到服务启动,传统部署方式步骤繁琐,环境问题频发,极易消耗开发运维人员大量精力。Docker 容器化技术为这类复杂应用的标准化部署提供了理想方案,它通过将应用及其所有依赖打包成一个可移植的镜像,实现了“一次构建,处处运行”。本文将聚焦于如何利用 Docker 和 Docker Compose,从零开始完成悟空 AICRM 的完整生产级部署。整个过程不仅包括服务启动,更会深入讲解关键配置、网络规划、数据持久化以及部署后必须进行的健康检查与故障排查,确保你部署的系统稳定、可用。1. 理解 Docker 部署悟空 CRM 的核心架构与优势在动手操作之前,理解 Docker 部署方案的整体架构和设计意图,能帮助你在后续配置和排错时做出正确判断。1.1 为什么选择 Docker Compose 部署悟空 CRM?悟空 CRM 是一个典型的微服务架构应用,它依赖于 MySQL、Redis、Elasticsearch、Nacos(服务注册与配置中心)等多个中间件。手动部署需要分别安装、配置并启动这些服务,还要处理它们之间的网络通信和依赖启动顺序,复杂度很高。Docker Compose 通过一个docker-compose.yml文件定义和运行多容器的 Docker 应用,完美解决了这个问题。使用官方提供的 Docker 部署方案,你将获得以下核心优势:环境标准化:所有服务(Java应用、数据库、缓存等)都运行在隔离的容器中,与宿主机环境解耦,避免了“在我机器上好好的”这类问题。一键启动:通过一条命令即可按正确顺序启动所有依赖服务和应用本身。简化网络配置:Compose 会自动创建一个专属网络,容器间可以通过服务名(如mysql、redis)直接通信,无需关心 IP 地址。资源与配置集中管理:所有服务的配置、数据卷映射、日志路径都在一个文件中定义,管理清晰。快速重建与扩容:可以轻松地重建整个环境或针对某个服务进行独立升级、扩容。1.2 部署前的核心组件与流程梳理根据官方提供的 Docker 目录结构,部署流程涉及以下几个核心部分:基础设施层:由 Docker 和 Docker Compose 工具本身构成,是容器运行的基石。中间件容器层:包含 MySQL、Redis、Elasticsearch、Nacos、XXL-JOB(分布式任务调度)、Nginx。这些容器通过docker-compose.yml定义,使用自定义配置和数据卷。应用容器层:悟空 CRM 的 Java 应用服务。它依赖于上述中间件,在中间件就绪后启动。配置与数据持久化:宿主机的conf、data、log目录通过“卷映射”挂载到容器内,确保配置可维护、数据不丢失、日志可查看。整个启动流程可以概括为:准备服务器 - 安装 Docker 环境 - 获取项目代码 - 调整配置 - 执行启动脚本 - 等待服务就绪 - 访问验证。2. 部署环境准备与 Docker 安装一个稳定的基础环境是成功部署的前提。本节将详细说明服务器选型、系统准备以及在不同操作系统上安装 Docker 和 Docker Compose 的步骤。2.1 服务器与系统要求官方建议的配置是 4 核 16G 及以上,这是一个保证多服务(尤其是 Elasticsearch)流畅运行的生产环境起点。对于测试或学习环境,最低配置不应低于 2 核 4G。操作系统:推荐使用 Linux 发行版,如 CentOS 7.6+、Ubuntu 18.04+。生产环境优先选择 CentOS 或 Rocky Linux 等企业级系统。Windows 和 macOS 主要用于本地开发测试。磁盘空间:预留至少 20GB 可用空间,用于存放 Docker 镜像、应用数据和日志。网络:服务器需要能访问互联网以下载 Docker 镜像。如果部署在内网,需提前准备所有必需的镜像并导入。在开始安装前,请确保以具有sudo权限的用户登录服务器。2.2 在 Linux 上安装 Docker 与 Docker ComposeLinux 是主流的部署平台。官方提供了docker-install.sh脚本,但理解其手动安装步骤更有利于排查问题。步骤一:卸载旧版本(如有)sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine步骤二:安装必要的依赖包# 对于 CentOS/RHEL/Rocky Linux sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # 对于 Ubuntu/Debian sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release步骤三:设置稳定的 Docker 镜像仓库# CentOS/RHEL/Rocky Linux sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # Ubuntu/Debian curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/ap