【docker】docs(docker): 更新docker-compose配置和README文档

修改docker-compose.yml中的平台架构配置,移除不必要的端口映射
添加常见错误解决方案和目录映射说明到README文档
This commit is contained in:
sugar1569 2026-03-04 19:09:44 +08:00
parent 923a254017
commit be2cd74b77
2 changed files with 74 additions and 9 deletions

View File

@ -44,4 +44,77 @@ db:0
pwd:123456
```
## 7、常见错误及解决方案
### 7.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 数据目录不为空,导致初始化失败。
### 7.2 数据目录映射问题
**错误现象**:数据库无法启动或数据无法持久化
**解决方案**:
1. 确保 `mysql/data` 目录存在:`mkdir -p mysql/data`
2. 确保 `mysql/data` 目录为空
3. 确保 docker-compose.yml 中正确配置了数据卷映射:
```yaml
volumes:
- ./mysql/data:/var/lib/mysql
```
**原因**:数据目录未映射或映射不正确,导致数据库无法创建或数据丢失。
## 8、常见需要映射的目录说明
### 8.1 MySQL 数据目录
- **本地路径**:`mysql/data`
- **容器路径**:`/var/lib/mysql`
- **用途**:存储 MySQL 数据库的数据文件
- **注意事项**:必须为空目录,否则 MySQL 初始化会失败
### 8.2 MySQL 日志目录
- **本地路径**:`mysql/log`
- **容器路径**:`/var/log/mysql`
- **用途**:存储 MySQL 的日志文件
- **注意事项**:确保目录存在且有读写权限
### 8.3 PHP 应用目录
- **本地路径**:`../crmeb`
- **容器路径**:`/var/www`
- **用途**:存储 CRMEB 应用代码
- **注意事项**:确保目录存在且包含完整的 CRMEB 代码
### 8.4 PHP 运行时目录
- **本地路径**:`../crmeb/runtime`
- **容器路径**:`/var/www/runtime`
- **用途**:存储 PHP 应用的运行时文件,如缓存、日志等
- **注意事项**:确保目录存在且有读写权限
### 8.5 Nginx 配置目录
- **本地路径**:`./vhost.conf`
- **容器路径**:`/etc/nginx/conf.d/default.conf`
- **用途**:Nginx 虚拟主机配置文件
- **注意事项**:确保配置文件存在且格式正确
### 8.6 Nginx 日志目录
- **本地路径**:`./nginx/log`
- **容器路径**:`/etc/nginx/log`
- **用途**:存储 Nginx 的日志文件
- **注意事项**:确保目录存在且有读写权限
### 8.7 目录创建命令
```bash
# 创建所有必要的目录
mkdir -p mysql/data mysql/log nginx/log
# 确保 CRMEB 应用目录存在
mkdir -p ../crmeb ../crmeb/runtime
```

View File

@ -3,7 +3,7 @@ services:
mysql:
container_name: crmeb_mysql
image: ccr.ccs.tencentyun.com/crmebmysql/mysql57:latest
platform: linux/arm64
platform: linux/amd64 # 兼容 arm64 架构
ports:
- "33061:3306"
environment:
@ -23,7 +23,6 @@ services:
redis:
container_name: crmeb_redis
image: ccr.ccs.tencentyun.com/crmebredis/redis:latest
platform: linux/arm64
ports:
- "63791:6379"
environment:
@ -53,12 +52,6 @@ services:
# 应用配置环境变量
APP_DEBUG: true
DEFAULT_TIMEZONE: Asia/Shanghai
ports:
- "9000:9000"
- "40001:40001"
- "40002:40002"
- "40003:40003"
# tmpfs: /var/temp #上传临时文件夹
working_dir: /var/www
volumes:
- ../crmeb:/var/www #程序运行目录
@ -70,7 +63,6 @@ services:
nginx:
container_name: crmeb_nginx
image: ccr.ccs.tencentyun.com/crmebnginx/nginx:latest
platform: linux/arm64
restart: always
ports:
- "8011:80"