SVCG 开发者文档SVCG 开发者文档
首页
快速开始
  • 前端开发
  • 后端开发
  • API 文档
部署运维
更新日志
GitHub
首页
快速开始
  • 前端开发
  • 后端开发
  • API 文档
部署运维
更新日志
GitHub
  • 部署运维

    • 部署运维
    • Docker 部署指南
    • 生产环境配置
    • 监控和日志

Docker 部署指南

本指南介绍如何使用 Docker 和 Docker Compose 部署柒世纪视频组系统。

📋 概览

项目已包含完整的 Docker 配置,支持一键启动所有服务。

🚀 快速开始

前置要求

  • Docker 19.03+
  • Docker Compose 1.25+
  • 至少 2GB 可用内存
  • 至少 20GB 可用磁盘空间

检查 Docker 安装

docker --version
docker-compose --version

启动服务

# 进入 ai-agent 目录
cd ai-agent

# 启动 Docker 容器(后台运行)
docker-compose up -d

# 查看容器状态
docker-compose ps

预期输出:

NAME          COMMAND                  STATE           PORTS
n8n           "/bin/sh -c npm run …"   Up 2 minutes    0.0.0.0:5678->5678/tcp
redis         "redis-server"           Up 2 minutes    6379/tcp

🔧 服务配置

docker-compose.yml 结构

version: '3.8'
services:
  n8n:
    image: n8nio/n8n:latest
    ports:
      - "5678:5678"
    volumes:
      - n8n_data:/home/node/.n8n
    environment:
      - N8N_HOST=0.0.0.0
      - N8N_PORT=5678

  redis:
    image: redis:7-alpine
    ports:
      - "6379:6379"
    volumes:
      - redis_data:/data

可用服务

服务端口说明
n8n5678工作流引擎
Redis6379缓存和队列
后端7777Go API 服务
前端5173Vue 开发服务

📊 常用命令

查看日志

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

# 持续跟踪 n8n 日志
docker-compose logs -f n8n

# 查看最后 100 行日志
docker-compose logs --tail=100

重启服务

# 重启所有服务
docker-compose restart

# 重启特定服务
docker-compose restart n8n

停止服务

# 停止所有服务(保留容器)
docker-compose stop

# 停止所有服务(删除容器)
docker-compose down

# 停止并删除所有数据
docker-compose down -v

进入容器

# 进入 n8n 容器
docker-compose exec n8n bash

# 进入 redis 容器
docker-compose exec redis redis-cli

🔐 环境变量配置

n8n 配置

创建 .env 文件在 ai-agent 目录:

# n8n 配置
N8N_HOST=0.0.0.0
N8N_PORT=5678
N8N_PROTOCOL=http
N8N_DOMAIN=localhost:5678

# 安全设置
N8N_ENCRYPTION_KEY=your-random-key-here
N8N_USER_MANAGEMENT_DISABLED=false

Redis 配置

Redis 默认配置即可,无需密码。

🔄 数据持久化

服务使用 Docker Volumes 实现数据持久化:

volumes:
  n8n_data:/home/node/.n8n      # n8n 工作流和配置
  redis_data:/data              # Redis 数据

查看 Volumes

docker volume ls
docker volume inspect n8n_data

备份数据

# 备份 n8n 数据
docker run --rm -v n8n_data:/data -v $(pwd):/backup \
  alpine tar czf /backup/n8n_backup.tar.gz -C /data .

# 恢复 n8n 数据
docker run --rm -v n8n_data:/data -v $(pwd):/backup \
  alpine tar xzf /backup/n8n_backup.tar.gz -C /data

📈 性能调优

内存限制

services:
  n8n:
    mem_limit: 1g
    memswap_limit: 1g
  redis:
    mem_limit: 512m

CPU 限制

services:
  n8n:
    cpus: '1.0'
    cpuset: '0'

🐛 故障排除

问题1:端口被占用

# 检查端口占用
netstat -tuln | grep 5678

# 使用其他端口
docker-compose -f docker-compose.yml up -d --build \
  --scale n8n=0 && \
  N8N_PORT=5679 docker-compose up -d n8n

问题2:内存不足

# 检查可用内存
docker stats

# 清理未使用的镜像和容器
docker system prune -a

问题3:容器无法启动

# 查看详细日志
docker-compose logs n8n

# 检查镜像完整性
docker pull n8nio/n8n:latest

📝 生产部署建议

1. 反向代理

使用 Nginx 作为反向代理:

server {
    listen 80;
    server_name n8n.example.com;

    location / {
        proxy_pass http://localhost:5678;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

2. SSL/TLS

配置 HTTPS:

environment:
  - N8N_PROTOCOL=https
  - N8N_DOMAIN=n8n.example.com

3. 日志收集

配置日志驱动:

logging:
  driver: "json-file"
  options:
    max-size: "10m"
    max-file: "3"

4. 监控告警

使用 Prometheus + Grafana 监控:

docker run -d --name prometheus \
  -v prometheus.yml:/etc/prometheus/prometheus.yml \
  prom/prometheus

🔗 相关资源

  • 生产环境配置
  • 监控和日志
  • 系统架构设计

有任何问题,请查看 Docker Compose 官方文档或提交 Issue。

在 GitHub 上编辑此页
上次更新: 2025/10/16 11:45
贡献者: NingBye
Prev
部署运维
Next
生产环境配置