# AI Chat Docker 部署指南 ## 📦 文件说明 - `Dockerfile` - Docker镜像构建文件 - `docker-compose.yml` - Docker Compose配置文件 - `nginx.conf` - Nginx服务器配置 - `proxy.conf` - 反向代理配置(可选) - `.dockerignore` - Docker构建忽略文件 ## 🚀 快速启动 ### 1. 基础部署(推荐) ```bash # 构建并启动服务 docker-compose up -d # 查看服务状态 docker-compose ps # 查看日志 docker-compose logs -f web ``` 访问地址:http://localhost:3000 ### 2. 使用反向代理 ```bash # 启动包含反向代理的完整服务 docker-compose --profile proxy up -d ``` 访问地址:http://localhost ### 3. 手动构建镜像 ```bash # 构建镜像 docker build -t ai-chat:latest . # 运行容器 docker run -d -p 3000:80 --name ai-chat-container ai-chat:latest ``` ## 🔧 配置说明 ### 端口配置 - 默认端口:3000 (可在docker-compose.yml中修改) - 反向代理端口:80/443 ### 环境变量 - `TZ=Asia/Shanghai` - 时区设置 ### 数据卷 - `./logs:/var/log/nginx` - Nginx日志持久化 ## 📝 常用命令 ```bash # 停止服务 docker-compose down # 重新构建并启动 docker-compose up -d --build # 查看容器状态 docker-compose ps # 进入容器 docker-compose exec web sh # 查看实时日志 docker-compose logs -f # 清理未使用的镜像 docker image prune -f ``` ## 🔒 生产环境配置 ### 1. HTTPS配置 1. 将SSL证书放入 `./ssl/` 目录 2. 取消注释 `proxy.conf` 中的HTTPS配置 3. 重启服务 ### 2. 性能优化 - 启用gzip压缩 ✅ - 静态资源缓存 ✅ - 安全头设置 ✅ ### 3. 监控和日志 ```bash # 查看资源使用情况 docker stats ai-chat-web # 查看详细信息 docker inspect ai-chat-web ``` ## 🐛 故障排除 ### 常见问题 1. **端口被占用** ```bash # 修改docker-compose.yml中的端口映射 ports: - "8080:80" # 改为其他端口 ``` 2. **权限问题** ```bash # 确保dist目录有正确权限 chmod -R 755 dist/ ``` 3. **容器无法启动** ```bash # 查看详细错误信息 docker-compose logs web ``` ## 📊 监控指标 - 容器状态:`docker-compose ps` - 资源使用:`docker stats` - 访问日志:`./logs/access.log` - 错误日志:`./logs/error.log` ## 🔄 更新部署 ```bash # 1. 重新构建应用 npm run build # 2. 重新构建Docker镜像 docker-compose build # 3. 重启服务 docker-compose up -d ```