简介
FastAPI 是一个现代的 Web 框架,适用于 Python,旨在提供高性能,因此它是开发应用程序的优秀选择,尤其是人工智能驱动的应用程序。
本教程将指导您通过在 Ubuntu 机器上使用 Docker Compose 创建和设置 FastAPI 应用程序的过程。这种方法简化了部署,并为在您的应用程序中集成人工智能提供了坚实的基础。
使用 Docker Compose 构建 FastAPI 应用程序
- Python 环境设置
- 创建虚拟环境
- 安装 Docker
- 创建 FastAPI 应用程序
- 创建Dockerfile和Docker Compose
- 构建和运行Docker容器
- 访问FastAPI应用程序
- 管理Docker容器
先决条件
遵循本教程,您将需要:
-
一台运行Ubuntu的服务器,以及一个具有sudo特权的非root用户和一个活动的防火墙。要了解如何设置此环境,请从此列表中选择您的发行版,并遵循我们的初始服务器设置指南。请确保使用受支持的Ubuntu版本。在本教程中,我们使用的是Ubuntu 24.04 LTS机器。)
-
熟悉 Linux 命令行。要了解或复习命令行,您可以查看这个关于Linux 命令行入门的指南。
-
在 Ubuntu 终端中运行
sudo apt-get update
,以确保您的系统具有来自您系统上配置的仓库的最新软件版本和安全性更新。
这些说明适用于最新版本的 Ubuntu,即 Ubuntu 24.04、Ubuntu 22.04、Ubuntu 20.04 和 Ubuntu 18.04。如果您正在使用 Ubuntu <=16.04,我们建议您升级到更新的版本,因为 Ubuntu 不再为这些版本提供支持。这份指南集合将帮助您升级 Ubuntu 机器。
步骤 1 – Python 环境设置
在 Ubuntu 24.04 机器上,Python 3 已经默认安装。打开终端并运行以下命令以确认 Python 3 是否已安装:
如果 Python 3 已经在您的机器上安装,此命令将返回 Python 3 安装的当前版本。如果尚未安装,您可以运行以下命令进行安装:
接下来,您需要在系统中安装 pip
和 dev
包安装器。pip
包管理器是安装来自 Python 包索引的包所必需的,而 dev
包则需要构建包含编译代码的 Python 模块。
在终端中运行以下命令:
步骤2 – 创建和激活虚拟环境
<$><>[注意]
如果你正在使用Ubuntu版本小于24.04,则无需创建虚拟环境。跳到下一步。
下一步是在你的Ubuntu安装中创建一个虚拟环境,以隔离Python包和你的系统环境。为此,请转到你的工作目录并运行以下命令:
此命令将在名为fastapi-env
的目录中创建一个新的虚拟环境。从现在起你安装的任何包都将与其他项目隔离。
接下来,你需要激活这个虚拟环境,以确保从现在开始安装的包都安装在这个隔离的环境中。
执行后,您会注意到终端提示符前缀有您的虚拟环境名称,如下所示:
步骤3 – 安装并启用Docker
下一步是在你的虚拟环境中安装Docker和Docker Compose。
安装Docker后,启动Docker服务并使其在系统启动时自动启动:
为了确保您获得Docker Compose的最新稳定版本,您将从其官方GitHub仓库下载,而不是使用apt
。
首先,确认最新版本是否在Docker的官方GitHub发布页面上可用,然后终端中运行以下CURL命令。
执行以下命令,使docker-compose
二进制文件对机器上的任何用户都可执行。
通过运行以下命令验证安装情况:
第4步 – 创建FastAPI应用程序
现在开始创建一个使用FastAPI框架的Python应用程序。首先,创建一个main.py
文件:
以下是一个示例Python应用程序,它使用FastAPI框架和一个预训练的AI模型来分析给定文本的情感。
要成功运行此应用程序,您需要所需的依赖项,但您不必手动安装它们。这些包的安装将在Dockerfile中处理,这在下一步中提到。
第5步 – 创建Dockerfile和配置YAML
下一步,您将创建一个适用于该应用程序的Dockerfile。这个Dockerfile定义了您的FastAPI应用程序将运行的环境。在项目目录下通过运行以下命令创建一个名为Dockerfile
的文件:
在文本编辑器中,请添加以下内容:
Docker Compose简化了多容器应用程序的管理。接下来,您需要在项目目录中创建一个名为docker-compose.yml
的配置文件。
将以下内容添加到空文件中:
在此配置中,
version
:指定了要使用的Docker Compose版本。services
:定义要创建的服务。web
:指定了运行您的FastAPI应用程序的服务名称。build
:指定了从哪个目录构建Docker镜像。在此案例中,它是放置docker-compose.yml
的同一目录。ports
:将主机上的端口8000映射到容器内的端口80。volumes
:将当前目录作为卷挂载到容器内,因此您可以实时重新加载代码。
步骤6 – 构建并运行Docker容器
使用Docker Compose构建此Docker镜像并启动容器:
此命令从当前目录中的Dockerfile构建Docker镜像。现在,要实际运行应用程序,请在终端中执行以下命令:
步骤7 – 访问您的FastAPI应用程序
容器运行后,您可以通过在网络浏览器中导航到http://localhost:8000
来访问您的FastAPI应用程序。
步骤8 [可选] – 管理您的Docker容器
以下是一些帮助您更好地控制运行FastAPI应用程序的容器化环境的技巧。
-
要停止正在运行的容器,请按Ctrl + C或Command + ..
-
在后台运行容器时,要恢复控制权,请使用:
-
要停止并删除您的容器,请运行:
结论
在本教程中,您学习了如何使用Docker Compose在Ubuntu机器上创建和设置FastAPI应用程序。借助FastAPI的速度和Docker的高效性,您可以自信地构建健壮、可扩展的应用程序。
Source:
https://www.digitalocean.com/community/tutorials/create-fastapi-app-using-docker-compose