mirror of
https://github.com/crmeb/CRMEB.git
synced 2026-03-25 06:52:35 +00:00
安装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