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
启动三个关键后台服务:
- 定时任务服务:
php think timer start --d
- 长连接服务:
php think workerman start --d
- 队列服务:
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
执行失败:
- 检查docker-compose.yml中的镜像地址是否正确
- 查看日志:
docker-compose logs
- 尝试单独启动某个服务排查问题
最佳实践建议
- 数据持久化:建议将MySQL数据目录映射到宿主机,防止容器重启数据丢失
- 配置文件管理:将项目配置单独管理,方便不同环境部署
- 资源限制:在生产环境中,建议为容器设置合理的CPU和内存限制
- 日志收集:配置容器日志输出到统一位置,方便问题排查
通过以上步骤,您应该能够顺利完成CRMEB系统的Docker-Compose部署。如果在实践中遇到其他问题,可以根据错误信息查阅相关文档或寻求技术支持。