首页
/ 基于Docker Compose部署RAP2-Delos接口管理平台

基于Docker Compose部署RAP2-Delos接口管理平台

2025-07-07 03:30:55作者:戚魁泉Nursing

项目概述

RAP2-Delos是一个开源的接口管理平台,提供API文档管理、Mock数据生成、接口测试等功能。本文将通过Docker Compose方式详细介绍如何部署RAP2-Delos系统。

系统架构

RAP2-Delos采用前后端分离架构:

  • 前端服务(dolores):基于React构建的用户界面
  • 后端服务(delos):Node.js实现的API服务
  • 数据库服务:MySQL存储业务数据
  • 缓存服务:Redis提供缓存支持

部署准备

在开始部署前,请确保已安装:

  1. Docker 18.06+
  2. Docker Compose 1.22+

配置文件详解

服务定义

version: "3"
services:
  # 前端服务
  dolores:
    image: rapteam/rap2-dolores:latest
    ports:
      - 3000:38081

前端服务使用官方提供的rap2-dolores镜像,将容器内的38081端口映射到主机的3000端口。可根据需要修改冒号前的端口号。

后端服务配置

  delos:
    image: rapteam/rap2-delos:latest
    ports:
      - 38080:38080
    environment:
      - SERVE_PORT=38080
      - MYSQL_URL=mysql
      - MYSQL_PORT=3306
      - MYSQL_USERNAME=root
      - MYSQL_PASSWD=
      - MYSQL_SCHEMA=rap2
      - REDIS_URL=redis
      - REDIS_PORT=6379
      - NODE_ENV=production
    command: /bin/sh -c 'node dispatch.js'
    depends_on:
      - redis
      - mysql

关键配置说明:

  1. environment部分定义了数据库连接参数,如需使用外部MySQL服务,可在此修改
  2. command指定了启动命令,首次部署时需要取消注释初始化命令
  3. depends_on确保服务启动顺序

数据库服务

  mysql:
    image: mysql:5.7
    volumes:
      - "./docker/mysql/volume:/var/lib/mysql"
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --init-connect='SET NAMES utf8mb4;' --innodb-flush-log-at-trx-commit=0
    environment:
      MYSQL_ALLOW_EMPTY_PASSWORD: "true"
      MYSQL_DATABASE: "rap2"
      MYSQL_USER: "root"
      MYSQL_PASSWORD: ""

重要注意事项:

  1. volumes配置将MySQL数据持久化到本地,防止容器重启数据丢失
  2. 字符集配置为utf8mb4,支持完整的Unicode字符集
  3. 默认配置为空密码,生产环境应修改为强密码

Redis服务

  redis:
    image: redis:4

使用Redis 4.x版本作为缓存服务,默认配置即可满足需求。

部署步骤

  1. 创建项目目录并进入

    mkdir rap2-delos && cd rap2-delos
    
  2. 创建docker-compose.yml文件,内容参考上文

  3. 创建MySQL数据目录

    mkdir -p docker/mysql/volume
    
  4. 首次启动时,修改delos服务的command为:

    command: /bin/sh -c 'sleep 30 && node scripts/init && node dispatch.js'
    

    这将初始化数据库表结构

  5. 启动服务

    docker-compose up -d
    
  6. 初始化完成后,将command改回:

    command: /bin/sh -c 'node dispatch.js'
    
  7. 访问前端 浏览器打开http://localhost:3000

常见问题处理

  1. MySQL连接失败:检查MySQL服务是否正常启动,等待足够时间(30秒)让MySQL完成初始化

  2. 端口冲突:修改ports配置中的主机端口号

  3. 数据持久化:确保volumes配置正确,避免数据丢失

  4. 初始化失败:检查MySQL日志,确认字符集配置正确

生产环境建议

  1. 为MySQL设置强密码
  2. 启用Redis密码认证
  3. 配置HTTPS访问
  4. 定期备份MySQL数据
  5. 监控服务运行状态

通过以上步骤,您已成功部署RAP2-Delos接口管理平台。该系统可以帮助团队高效管理API文档,提升前后端协作效率。