mirror of
https://github.com/crmeb/CRMEB.git
synced 2026-03-25 23:03:12 +00:00
137 lines
3.5 KiB
Markdown
137 lines
3.5 KiB
Markdown
# 安装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 目录创建命令
|
||
```bash
|
||
# 创建所有必要的目录
|
||
mkdir -p mysql/data mysql/log nginx/log
|
||
|
||
# 确保 CRMEB 应用目录存在
|
||
mkdir -p ../crmeb ../crmeb/runtime
|
||
```
|
||
|
||
|