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 官方文档。
No Comments