One-API项目Docker Compose部署指南
2025-07-05 05:17:54作者:卓艾滢Kingsley
项目概述
One-API是一个开源的API管理平台,通过Docker Compose可以快速部署完整的服务环境。本文将详细解析其docker-compose.yml配置文件,帮助开发者理解各组件的作用和配置要点。
核心服务解析
1. One-API主服务
主服务使用justsong/one-api镜像,主要配置包括:
- 端口映射:将容器内的3000端口映射到宿主机的3000端口
- 数据持久化:通过volumes挂载数据目录和日志目录
- 环境变量:配置数据库连接、Redis连接等关键参数
- 健康检查:通过API接口检查服务状态
关键环境变量说明:
SQL_DSN
:MySQL数据库连接字符串REDIS_CONN_STRING
:Redis连接地址SESSION_SECRET
:会话加密密钥,建议修改为随机字符串TZ
:时区设置
2. Redis服务
作为缓存和会话存储使用,采用官方Redis镜像,配置简单但重要:
- 使用最新版Redis镜像
- 自动重启策略确保服务高可用
3. MySQL数据库服务
使用MySQL 8.2.0版本镜像,关键配置包括:
- 数据持久化:挂载/var/lib/mysql目录保存数据
- 端口映射:3306标准端口
- 环境变量:
- 设置root密码(OneAPI@justsong)
- 创建专用用户oneapi(密码123456)
- 自动创建one-api数据库
部署注意事项
-
数据库配置:
- 默认使用MySQL,如需使用SQLite可注释SQL_DSN环境变量
- 生产环境务必修改默认密码
-
多机部署:
- 从节点需取消注释NODE_TYPE=slave
- 配置SYNC_FREQUENCY同步频率
- 设置FRONTEND_BASE_URL前端地址
-
日志管理:
- 日志目录/app/logs挂载到宿主机./logs目录
- 可通过command参数调整日志配置
-
健康检查:
- 每30秒检查一次服务状态
- 超时10秒,重试3次
最佳实践建议
-
安全加固:
- 修改所有默认密码
- 定期备份挂载的数据目录
- 考虑添加网络限制
-
性能优化:
- 根据负载调整Redis和MySQL资源配置
- 监控日志文件大小
-
高可用部署:
- 主从节点配置
- 考虑添加负载均衡
通过理解这些配置项,开发者可以灵活调整部署方案,满足不同场景下的需求。此Docker Compose文件提供了开箱即用的完整环境,是快速体验One-API功能的理想选择。