CRMEB/help/docker/README.md
2026-03-23 14:57:47 +08:00

3.5 KiB
Raw Blame History

安装docker

docker 官网下载

https://www.docker.com/products/docker-desktop

命令安装

curl -sSL https://get.daocloud.io/docker | sh

方式一一键启动CRMEB 系统

docker run -d \
  --name crmeb_app \
  -p 8111:80 \
  -v $(pwd)/crmeb/runtime:/var/www/crmeb/runtime \
  -v $(pwd)/crmeb/uploads:/var/www/crmeb/public/uploads \
  -v $(pwd)/crmeb_mysql:/var/lib/mysql \
  -v $(pwd)/crmeb_redis:/var/lib/redis \
  -e TZ=Asia/Shanghai \
  ccr.ccs.tencentyun.com/zbkj/crmebky:latest

方式二docker-compose 快速运行项目

1、安装docker-compose

https://www.runoob.com/docker/docker-compose.html

2、下载CRMEB程序

建议去下载最新开源代码 https://gitee.com/ZhongBangKeJi/CRMEB 程序放到docker 同级目录下

3、启动项目

进入docker-compose目录 cd /docker

运行命令:

docker-compose up -d

## 4、访问CRMEB 系统
移动端访问地址http://localhost:8011/
PC端访问地址http://localhost:8011/admin


## 5、安装CRMEB
### Mysql数据库信息

Host:crmeb_mysql Post:3306 user:crmeb pwd:123456

### Redis信息

Host:crmeb_redis Post:6379 db:0 pwd:123456


## 6、常见错误及解决方案

### 6.1 MySQL 启动失败
**错误现象**MySQL 容器启动失败,日志显示 "--initialize specified but the data directory has files in it. Aborting."

**解决方案**
1. 停止所有容器:`docker-compose down`
2. 清空数据目录:`rm -rf mysql/data/*`
3. 重新启动服务:`docker-compose up -d`

**原因**MySQL 数据目录不为空,导致初始化失败。

### 6.2 数据目录映射问题
**错误现象**:数据库无法启动或数据无法持久化

**解决方案**
1. 确保 `mysql/data` 目录存在:`mkdir -p mysql/data`
2. 确保 `mysql/data` 目录为空
3. 确保 docker-compose.yml 中正确配置了数据卷映射:
   ```yaml
   volumes:
     - ./mysql/data:/var/lib/mysql

原因:数据目录未映射或映射不正确,导致数据库无法创建或数据丢失。

6.3 常见需要映射的目录说明

6.3.1 MySQL 数据目录

  • 本地路径mysql/data
  • 容器路径/var/lib/mysql
  • 用途:存储 MySQL 数据库的数据文件
  • 注意事项:必须为空目录,否则 MySQL 初始化会失败

6.2 MySQL 日志目录

  • 本地路径mysql/log
  • 容器路径/var/log/mysql
  • 用途:存储 MySQL 的日志文件
  • 注意事项:确保目录存在且有读写权限

6.3.2 PHP 应用目录

  • 本地路径../../crmeb
  • 容器路径/var/www
  • 用途:存储 CRMEB 应用代码
  • 注意事项:确保目录存在且包含完整的 CRMEB 代码

6.3.3 PHP 运行时目录

  • 本地路径../../crmeb/runtime
  • 容器路径/var/www/runtime
  • 用途:存储 PHP 应用的运行时文件,如缓存、日志等
  • 注意事项:确保目录存在且有读写权限

6.3.4 Nginx 配置目录

  • 本地路径./nginx/vhost.conf
  • 容器路径/etc/nginx/conf.d/default.conf
  • 用途Nginx 虚拟主机配置文件
  • 注意事项:确保配置文件存在且格式正确

6.3.5 Nginx 日志目录

  • 本地路径./nginx/log
  • 容器路径/etc/nginx/log
  • 用途:存储 Nginx 的日志文件
  • 注意事项:确保目录存在且有读写权限

6.3.6 目录创建命令

# 创建所有必要的目录
mkdir -p mysql/data mysql/log nginx/log

# 确保 CRMEB 应用目录存在
mkdir -p ../crmeb ../crmeb/runtime