docker-deploy.md 4.5 KB

Vue3-Admin Docker 部署指南

本项目提供了完整的 Docker 化部署方案,包含前端(Vue3)、后端(NestJS)和数据库(PostgreSQL)服务。

🚀 快速开始

1. 环境准备

确保你的系统已安装:

  • Docker (>= 20.0.0)
  • Docker Compose (>= 2.0.0)

2. 环境配置

复制环境变量模板并配置:

# 复制环境变量模板
cp env.example .env

# 编辑环境变量(可选)
vi .env

主要配置项:

  • POSTGRES_PASSWORD: PostgreSQL 数据库密码
  • DATABASE_URL: 数据库连接字符串
  • JWT_SECRET: JWT 加密密钥
  • SESSION_SECRET: Session 会话密钥

3. 部署应用

# 构建并启动所有服务
docker-compose up -d

# 查看服务状态
docker-compose ps

# 查看日志
docker-compose logs -f app

4. 访问应用

📁 项目结构

vue3-admin/
├── Dockerfile              # 多阶段构建文件
├── docker-compose.yml      # 服务编排文件
├── nginx.conf              # Nginx 配置
├── .dockerignore           # Docker 忽略文件
├── env.example             # 环境变量模板
├── server/                 # 后端代码
└── web/                    # 前端代码

🛠️ 服务说明

应用服务 (app)

数据库服务 (postgres)

  • 镜像: postgres:15-alpine
  • 端口: 5432
  • 数据卷: postgres_data
  • 初始化: 自动执行 postgreSQL/ 目录下的 SQL 文件

🔧 常用命令

服务管理

# 启动服务
docker-compose up -d

# 停止服务
docker-compose down

# 重启服务
docker-compose restart

# 重新构建
docker-compose build --no-cache

# 查看状态
docker-compose ps

# 查看日志
docker-compose logs -f [service_name]

数据库管理

# 进入数据库容器
docker-compose exec postgres psql -U postgres -d vue3_admin

# 数据库备份
docker-compose exec postgres pg_dump -U postgres vue3_admin > backup.sql

# 数据库恢复
docker-compose exec -T postgres psql -U postgres vue3_admin < backup.sql

应用管理

# 进入应用容器
docker-compose exec app sh

# 查看应用日志
docker-compose logs -f app

# 重启应用服务
docker-compose restart app

🐛 故障排除

常见问题

  1. 端口冲突

    # 修改 docker-compose.yml 中的端口映射
    ports:
     - "8080:80"    # 前端改为8080端口
     - "3000:6666"  # 后端改为3000端口
    
  2. 数据库连接失败

    # 检查数据库服务状态
    docker-compose logs postgres
       
    # 检查环境变量配置
    docker-compose config
    
  3. 前端页面无法访问

    # 检查Nginx配置
    docker-compose exec app nginx -t
       
    # 重启Nginx
    docker-compose exec app nginx -s reload
    
  4. 构建失败

    # 清理Docker缓存
    docker system prune -a
       
    # 重新构建
    docker-compose build --no-cache
    

查看详细日志

# 查看所有服务日志
docker-compose logs

# 查看特定服务日志
docker-compose logs app
docker-compose logs postgres

# 实时跟踪日志
docker-compose logs -f --tail=100 app

📊 监控和维护

健康检查

所有服务都配置了健康检查:

# 检查服务健康状态
docker-compose ps

# 应用健康检查
curl http://localhost:6666/health

# 数据库健康检查
docker-compose exec postgres pg_isready -U postgres

数据持久化

项目使用 Docker 卷持久化数据:

  • postgres_data: PostgreSQL 数据
  • app_logs: 应用日志
  • ./server/upload: 上传文件

🔒 生产环境建议

  1. 安全配置

    • 修改默认密码
    • 使用强密码策略
    • 配置防火墙规则
    • 启用 HTTPS
  2. 性能优化

    • 调整数据库配置
    • 设置Nginx缓存策略
    • 优化Node.js内存使用
    • 监控资源使用情况
  3. 备份策略

    • 定期备份数据库
    • 备份上传文件
    • 配置日志轮转
  4. 监控告警

    • 配置应用监控
    • 设置资源告警
    • 日志监控

📝 更新日志

  • v1.0.0: 初始版本,支持基础Docker部署
  • 支持的服务:Vue3前端、NestJS后端、PostgreSQL
  • 自动化部署和健康检查