Skip to main content

Docker 部署 Apifox

以下是使用 Docker 部署 Apifox 的详细步骤,分为 本地部署服务端部署 两种场景,并附常见问题解决:


一、Apifox 的 Docker 部署方式

Apifox 提供了官方 Docker 镜像,支持快速部署其服务端版本(适合团队协作)。以下是具体流程:

1. 本地开发环境快速体验

# 拉取官方镜像(社区版)
docker pull apifox/apifox:latest

# 运行容器(默认端口 3000)
docker run -d --name apifox -p 3000:3000 apifox/apifox

# 访问
http://localhost:3000

2. 生产环境部署(推荐配置)

# 创建数据卷(持久化数据)
docker volume create apifox-data

# 运行容器(绑定数据卷 + 自定义端口)
docker run -d \
  --name apifox \
  -p 8080:3000 \
  -v apifox-data:/app/data \
  -e APIFOX_ADMIN_EMAIL=admin@example.com \
  -e APIFOX_ADMIN_PASSWORD=yourpassword \
  apifox/apifox

参数说明

  • -p 8080:3000:将容器内 3000 端口映射到宿主机 8080。
  • -v apifox-data:/app/data:持久化存储项目数据。
  • -e 环境变量:设置管理员账号(首次启动必需)。

二、配置优化

1. 数据库外置(MySQL/PostgreSQL)

默认使用 SQLite,如需高性能可外接数据库:

docker run -d \
  --name apifox \
  -p 3000:3000 \
  -e DATABASE_URL=mysql://user:password@mysql-host:3306/apifox \
  apifox/apifox

2. HTTPS 支持

通过 Nginx 反向代理或添加 SSL 证书:

# 示例:挂载自定义证书
docker run -d \
  -v /path/to/ssl:/app/ssl \
  -e SSL_CERT_FILE=/app/ssl/cert.pem \
  -e SSL_KEY_FILE=/app/ssl/key.pem \
  apifox/apifox

三、使用 Docker Compose 部署

推荐使用 docker-compose.yml 管理依赖(如 MySQL + Apifox):

version: '3'
services:
  apifox:
    image: apifox/apifox:latest
    ports:
      - "3000:3000"
    volumes:
      - apifox-data:/app/data
    environment:
      - DATABASE_URL=mysql://root:password@mysql/apifox
      - APIFOX_ADMIN_EMAIL=admin@example.com
      - APIFOX_ADMIN_PASSWORD=yourpassword
    depends_on:
      - mysql

  mysql:
    image: mysql:5.7
    environment:
      - MYSQL_ROOT_PASSWORD=password
      - MYSQL_DATABASE=apifox
    volumes:
      - mysql-data:/var/lib/mysql

volumes:
  apifox-data:
  mysql-data:

启动命令

docker-compose up -d

四、常见问题

1. 无法访问 3000 端口

  • 检查防火墙:ufw allow 3000(Linux)。
  • 确认端口是否被占用:netstat -tulnp | grep 3000

2. 数据持久化失败

  • 确保数据卷权限:docker volume inspect apifox-data
  • 手动备份:docker cp apifox:/app/data ./backup

3. 管理员账号未生效

  • 首次启动后通过日志查看初始化密码:
    docker logs apifox | grep "Admin password"
    

五、升级与维护

# 更新镜像
docker pull apifox/apifox:latest

# 重启容器
docker stop apifox && docker rm apifox
docker run -d ... # 使用原参数重新运行

# 查看日志
docker logs -f apifox

通过以上步骤,你可以快速完成 Apifox 的 Docker 化部署。如果需要更高级的配置(如 LDAP 集成、自定义插件),可参考 Apifox 官方文档