3.6 KiB
3.6 KiB
基于角色的系统 - Docker部署指南
项目概述
这是一个基于Django的基于角色的系统,使用MySQL数据库和Redis进行WebSocket通信。
Docker部署步骤
前置要求
- 安装 Docker
- 安装 Docker Compose
部署步骤
-
配置Docker镜像源(解决网络问题)
编辑Docker Desktop设置,添加国内镜像源:
{ "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。
-
准备环境变量
复制示例环境变量文件并根据需要修改:
cp .env.example .env
-
构建镜像
docker-compose build
如果遇到网络问题,尝试预先拉取基础镜像:
docker pull python:3.11-slim
-
启动容器
docker-compose up -d
如果MySQL端口冲突(通常是本地已有MySQL服务),修改
docker-compose.yml
中的端口映射:ports: - "3307:3306" # 使用3307替代3306
-
执行数据库迁移
docker-compose exec web python manage.py migrate
-
创建测试用户
docker-compose exec web python manage.py create_test_users
这将创建以下用户:
- 4个管理员用户(admin1-admin4,密码:admin123)
- 7个组长用户(leader1-leader7,密码:leader123)
执行后会显示每个用户的Token,可用于API认证。
-
创建超级用户(可选)
docker-compose exec web python manage.py createsuperuser
-
查看日志(如需调试)
docker-compose logs -f
查看特定服务日志:
docker-compose logs web # 查看web应用日志 docker-compose logs db # 查看数据库日志
访问应用
应用将在以下地址运行:http://localhost:8000
容器管理命令
# 查看容器状态
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
从容器内连接
docker-compose exec db mysql -u root -p rolebasedfilemanagement
数据备份与恢复
备份数据库
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
添加缺失的包,然后重新构建:
docker-compose down
docker-compose build
docker-compose up -d
端口冲突
如果遇到端口冲突,修改docker-compose.yml
中的端口映射,将冲突的端口修改为未使用的端口。
网络问题
如果无法下载Docker镜像,配置国内镜像源,或使用VPN解决网络连接问题。
注意事项
- 在生产环境中,请确保修改默认密码和密钥
- 生产环境应启用HTTPS
- 定期备份数据库和媒体文件
- 对于生产部署,建议配置Nginx作为反向代理