144 lines
2.4 KiB
Markdown
144 lines
2.4 KiB
Markdown
# 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
|
||
```
|