首页
/ CRMEB项目Docker-Compose快速部署指南

CRMEB项目Docker-Compose快速部署指南

2025-07-07 04:56:32作者:毕习沙Eudora

前言

CRMEB是一款基于ThinkPHP框架开发的客户关系管理系统,采用Docker-Compose部署可以大大简化环境配置过程。本文将详细介绍如何使用Docker-Compose快速部署CRMEB系统,适合开发者和运维人员参考。

环境准备

1. Docker安装

Docker是容器化技术的核心工具,我们需要先安装Docker引擎:

  • Windows/macOS用户:推荐从Docker官网下载Docker Desktop安装包
  • Linux用户:可以通过以下命令快速安装:
curl -sSL https://get.daocloud.io/docker | sh

安装完成后,建议执行docker version命令验证安装是否成功。

2. Docker-Compose安装

Docker-Compose是用于定义和运行多容器Docker应用程序的工具:

  • 通常Docker Desktop已包含Docker-Compose
  • 单独安装可参考官方文档
  • 验证安装:docker-compose --version

项目部署流程

1. 获取CRMEB源码

将最新版CRMEB程序代码下载到本地,建议放在与docker-compose目录同级的位置,保持项目结构清晰。

2. 启动容器服务

进入docker-compose目录执行以下命令:

docker-compose up -d

这个命令会基于docker-compose.yml配置文件,自动拉取镜像并创建以下服务容器:

  • PHP服务容器
  • MySQL数据库容器
  • Redis缓存容器
  • Nginx web服务器容器

3. 初始化项目服务

进入PHP容器执行必要的后台服务:

docker exec -it crmeb_php /bin/bash
cd /var/www

启动三个关键后台服务:

  1. 定时任务服务
php think timer start --d
  1. 长连接服务
php think workerman start --d
  1. 队列服务
php think queue:listen --queue

系统访问与配置

1. 访问系统

服务启动完成后,通过浏览器访问:

http://localhost:8011/

2. 安装配置

系统安装时需要填写以下数据库和缓存配置:

MySQL连接信息

主机地址:192.168.10.11
端口:3306
用户名:root
密码:123456

Redis连接信息

主机地址:192.168.10.10
端口:6379
数据库编号:0
密码:123456

常见问题解决方案

1. 端口冲突问题

如果遇到端口被占用错误,需要修改docker-compose.yml文件中的端口映射配置,例如:

ports:
  - "8021:80"  # 将8021改为其他可用端口

2. IP地址冲突

当出现Address already in use错误时,通常是因为配置的IP地址已被占用。解决方案:

  • 修改docker-compose.yml中相关容器的ipv4_address配置
  • 或使用自动分配的IP地址

3. MySQL容器启动失败

特别是M1芯片的Mac电脑需要注意:

  • M1芯片需要使用特定镜像:daocloud.io/library/mysql:5.7.5-m15
  • 其他平台使用标准镜像:mysql:5.7

4. 容器启动失败排查

如果docker-compose up -d执行失败:

  1. 检查docker-compose.yml中的镜像地址是否正确
  2. 查看日志:docker-compose logs
  3. 尝试单独启动某个服务排查问题

最佳实践建议

  1. 数据持久化:建议将MySQL数据目录映射到宿主机,防止容器重启数据丢失
  2. 配置文件管理:将项目配置单独管理,方便不同环境部署
  3. 资源限制:在生产环境中,建议为容器设置合理的CPU和内存限制
  4. 日志收集:配置容器日志输出到统一位置,方便问题排查

通过以上步骤,您应该能够顺利完成CRMEB系统的Docker-Compose部署。如果在实践中遇到其他问题,可以根据错误信息查阅相关文档或寻求技术支持。