diff --git a/docker/README.md b/docker/README.md index 8420a5f89..30d4e90cb 100644 --- a/docker/README.md +++ b/docker/README.md @@ -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 +``` + diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 465b3ae9c..8bd2490aa 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -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"