diff --git a/README.md b/README.md index 5a0a3b9c..9b64e668 100644 --- a/README.md +++ b/README.md @@ -11,51 +11,123 @@ ### 部署步骤 -1. **准备环境变量** +1. **配置Docker镜像源**(解决网络问题) + + 编辑Docker Desktop设置,添加国内镜像源: + ```json + { + "registry-mirrors": [ + "https://hub-mirror.c.163.com", + "https://docker.mirrors.ustc.edu.cn", + "https://registry.docker-cn.com", + "https://reg-mirror.qiniu.com" + ] + } + ``` + + 应用设置并重启Docker Desktop。 + +2. **准备环境变量** 复制示例环境变量文件并根据需要修改: ```bash cp .env.example .env ``` -2. **构建并启动容器** +3. **构建镜像** ```bash - docker-compose up -d --build + docker-compose build + ``` + + 如果遇到网络问题,尝试预先拉取基础镜像: + ```bash + docker pull python:3.11-slim ``` -3. **执行数据库迁移** +4. **启动容器** + + ```bash + docker-compose up -d + ``` + + 如果MySQL端口冲突(通常是本地已有MySQL服务),修改`docker-compose.yml`中的端口映射: + ```yaml + ports: + - "3307:3306" # 使用3307替代3306 + ``` + +5. **执行数据库迁移** ```bash docker-compose exec web python manage.py migrate ``` -4. **创建超级用户(可选)** +6. **创建测试用户** + + ```bash + docker-compose exec web python manage.py create_test_users + ``` + + 这将创建以下用户: + - 4个管理员用户(admin1-admin4,密码:admin123) + - 7个组长用户(leader1-leader7,密码:leader123) + + 执行后会显示每个用户的Token,可用于API认证。 + +7. **创建超级用户(可选)** ```bash docker-compose exec web python manage.py createsuperuser ``` -5. **查看日志(如需调试)** +8. **查看日志(如需调试)** ```bash docker-compose logs -f ``` + + 查看特定服务日志: + ```bash + docker-compose logs web # 查看web应用日志 + docker-compose logs db # 查看数据库日志 + ``` ### 访问应用 应用将在以下地址运行:`http://localhost:8000` -### 停止服务 +### 容器管理命令 ```bash +# 查看容器状态 +docker-compose ps + +# 停止服务 docker-compose down + +# 重新启动服务 +docker-compose up -d + +# 重建镜像并启动 +docker-compose up -d --build + +# 完全重置(包括数据卷) +docker-compose down -v ``` -### 完全重置(包括数据卷) +## 数据库访问 +### 本地访问MySQL +- 主机: localhost +- 端口: 3307(如果修改了端口映射) +- 用户名: root +- 密码: Ooin2025! +- 数据库名: rolebasedfilemanagement + +### 从容器内连接 ```bash -docker-compose down -v +docker-compose exec db mysql -u root -p rolebasedfilemanagement ``` ## 数据备份与恢复 @@ -72,8 +144,25 @@ docker-compose exec db mysqldump -u root -p rolebasedfilemanagement > backup.sql docker-compose exec -T db mysql -u root -p rolebasedfilemanagement < backup.sql ``` +## 故障排除 + +### 依赖问题 +如果遇到缺少依赖项的错误,编辑`requirements.txt`添加缺失的包,然后重新构建: +```bash +docker-compose down +docker-compose build +docker-compose up -d +``` + +### 端口冲突 +如果遇到端口冲突,修改`docker-compose.yml`中的端口映射,将冲突的端口修改为未使用的端口。 + +### 网络问题 +如果无法下载Docker镜像,配置国内镜像源,或使用VPN解决网络连接问题。 + ## 注意事项 - 在生产环境中,请确保修改默认密码和密钥 - 生产环境应启用HTTPS -- 定期备份数据库和媒体文件 \ No newline at end of file +- 定期备份数据库和媒体文件 +- 对于生产部署,建议配置Nginx作为反向代理 \ No newline at end of file