所有文章 > 日积月累 > 如何用Docker部署API
如何用Docker部署API

如何用Docker部署API

本文详细介绍了如何使用Docker来部署API网关和管理API接口,重点介绍了One-API的部署步骤以及如何使用Docker Compose来简化这一过程。通过Docker的容器化技术,开发者可以快速高效地设置和管理API网关,同时实现API接口的测试、版本控制和权限管理。此外,文章还探讨了在微服务架构中的具体应用场景和最佳实践。

前言

one-api 是一个开源项目,旨在简化 API 的开发与管理过程。通过支持多种主流 AI 模型接口,它成为了开发者管理和分发接口的得力助手。项目优势包括多模型支持、一键部署、API 管理功能,以及高性能和轻量级架构,适用于现代容器化和微服务架构。通过 Docker Compose,用户可以简便地部署和管理 one-api。下面,我们将详细介绍如何用 Docker 部署 API。

项目背景

one-api 提供了一个便捷的方式来管理多个 AI 模型接口,包括 OpenAI、Azure 等。这种整合使得开发者可以在一个平台上管理不同的模型接口,提升了效率。

项目优势

one-api 的一大特点是其开箱即用的特性,用户只需通过简单的 Docker 命令即可快速搭建起自己的 API 管理系统。

发展趋势

one-api 项目在不断更新中,持续优化以支持新的功能和模型,确保在快速变化的技术环境中保持领先。

环境准备

在部署 one-api 之前,确保系统具备必要的软件环境,尤其是 Docker 和 Docker Compose。

获取 Root 权限

在命令行中获取 Root 权限,以便进行后续命令的安装和配置:

    sudo -i

安装 Docker

更新系统包索引后,安装 Docker 以支持容器化操作:

    sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

安装 Docker Compose

通过下载二进制文件并设置权限来安装 Docker Compose:

    sudo curl -L "https://github.com/docker/compose/releases/download/v2.3.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

创建项目目录

为 one-api 项目创建一个新的目录,以便于后续的文件管理和 Docker Compose 文件存放。

创建目录

使用命令创建一个名为 one-api 的目录并进入其中:

    mkdir one-api
cd one-api

目录结构

在该目录下,我们将存放 Docker Compose 文件,以及后续生成的数据和日志等。

文件管理

确保将所有与项目相关的文件妥善管理在此目录,以便于操作和备份。

编写DockerCompose文件

Docker Compose 文件是部署 one-api 的核心,通过它可以定义服务、网络和存储。

创建 Docker Compose 文件

在项目目录下创建 docker-compose.yml 文件,并输入以下内容:

    version: '3.4'
services:
one-api:
image: "${REGISTRY:-docker.io}/justsong/one-api:latest"
container_name: one-api
restart: always
command: --log-dir /app/logs
ports:
- "3000:3000"
volumes:
- ./data/oneapi:/data
- ./logs:/app/logs
environment:
- SQL_DSN=oneapi:123456@tcp(db:3306)/one-api
- REDIS_CONN_STRING=redis://redis
- SESSION_SECRET=random_string
- TZ=Asia/Shanghai
depends_on:
- redis
- db
...

配置说明

文件中配置了 one-api 的镜像、端口、环境变量等,这些配置确保 one-api 正常运行。

数据库存储

MySQL 的配置确保数据持久化,避免容器重启后数据丢失。

构建和启动容器

通过 Docker Compose 的命令,构建并启动 one-api 服务。

构建容器

执行以下命令构建容器:

    docker-compose up -d

查看状态

使用命令查看容器的运行状态,确保服务正常启动:

    docker-compose ps

调试和日志

检查容器日志以排查可能的错误,确保服务稳定运行。

访问和管理

通过浏览器访问 one-api 的管理界面,进行基础设置和 API 管理。

访问接口

在浏览器地址栏输入 ip:3000 访问 one-api:

    http://:3000

管理员登录

使用默认的管理员账户和密码登录系统:

    用户名:root
初始密码:123456

安全设置

登录后建议修改默认密码,并进行其他安全设置,确保系统安全。

创建API接口

借助 Flask 创建和运行简单的 API 接口,并通过 Docker 部署。

编写 API 脚本

编写 app.py 文件,创建简单的 Flask 应用:

    from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/')
def hello_world():
return '

Hello World

'

@app.route('/')
def get_data(name):
data = {
'id': name,
'value': 'value_%s' % name,
}
return jsonify(data)

if __name__ == '__main__':
app.run('0.0.0.0', 8080, debug=True)

编写 Dockerfile

为 Flask 应用编写 Dockerfile,用于构建镜像:

    FROM python:3.8
WORKDIR /app
COPY . /app
RUN pip install flask
EXPOSE 8080
CMD [ "python", "app.py" ]

构建和运行 API

执行命令构建并运行 API 容器:

    docker build -t api:latest .
docker run -p 8080:8080 --name api api:latest

图片展示

访问 http://127.0.0.1:8080/1232,可以看到接口返回的 JSON 数据:

通过以上步骤,成功地将一个简单的 API 接口部署在 Docker 上,并通过 Docker Compose 管理,提升了开发和运维效率。

FAQ

问:one-api 项目的主要优势是什么?

  • 答:one-api 的主要优势包括支持多种主流 AI 模型接口、一键部署和API 管理功能。它具有高性能和轻量级架构,非常适合现代容器化和微服务架构。此外,通过 Docker Compose,用户可以方便地部署和管理 one-api。

问:在部署 one-api 之前需要做哪些环境准备?

  • 答:在部署 one-api 之前,需要确保系统具备必要的软件环境,尤其是 Docker 和 Docker Compose。您需要获取 Root 权限,更新系统包索引并安装 Docker 以及 Docker Compose。

问:如何用 Docker 部署 one-api?

  • 答:要用 Docker 部署 one-api,首先需要创建一个项目目录,然后编写 Docker Compose 文件。在 Docker Compose 文件中,定义 one-api 服务的镜像、端口、环境变量等。接着,通过 docker-compose up -d 命令构建并启动 one-api 服务。

问:如何通过浏览器访问 one-api 的管理界面?

  • 答:可以通过在浏览器地址栏输入 ip:3000 来访问 one-api 的管理界面。默认的管理员账户为“root”,初始密码为“123456”。建议登录后修改默认密码,并进行其他安全设置。

问:如何用 Docker 部署一个简单的 Flask API 接口?

  • 答:首先,编写一个简单的 Flask 应用脚本(如 app.py),然后为该应用编写 Dockerfile。接着,通过 docker build -t api:latest . 命令构建镜像,并使用 docker run -p 8080:8080 --name api api:latest 运行 API 容器。
#你可能也喜欢这些API文章!