Введение
FastAPI — это современный веб-фреймворк для Python, который разработан для обеспечения высокой производительности, что делает его отличным выбором для разработки приложений, особенно тех, которые используют AI.
Этот учебник поможет вам пройти процесс создания и настройки приложения FastAPI на Ubuntu-системе с использованием Docker Compose. Этот метод упрощает установку и обеспечивает прочную основу для интеграции AI в ваши приложения.
Создание приложения FastAPI с использованием Docker Compose
- Установка среды Python
- Создание виртуальной среды
- Установка Docker
- Создание приложения FastAPI
- Создание файла Dockerfile и Docker Compose
- Сборка и запуск контейнера Docker
- Доступ к FastAPI-приложению
- Управление контейнером Docker
Предварительные требования
Для прохождения этого учебника вам потребуется:
-
Сервер с установленной системой Ubuntu, неRoot-пользователь с правами sudo и активной брандмауэрной стеной. Паспортка по установке сервера выберите из этого списка и следуйте инструкции по установке начального настройки сервера. Убедитесь, что вы работаете с поддерживаемой версией Ubuntu. В этом учебнике мы используем машину Ubuntu 24.04 LTS.
-
Знакомство с командной строкой Linux. Чтобы получить введение или обновить знания о командной строке, можно обратиться к этому руководству Linux command line primer.
-
Запустите
sudo apt-get update
в терминале Ubuntu, чтобы убедиться, что ваша система имеет последние версии и обновления безопасности для программного обеспечения, доступного из репозиториев, настроенных в вашей системе.
Эти инструкции являются действительными для последних версий 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. В случае, если он не установлен, вы можете выполнить следующую команду и установить Python 3:
Далее вам нужно установить pip
и dev
на вашем системе. менеджер пакетов pip
необходим для установки пакетов из Python Package Index, а пакет dev
требуется для создания модулей Python, которые включают компилированный код.Выполните следующую команду в терминале:
Шаг 2 – Создание и активация виртуального окружения
<$><>[нотация]
Если вы используете Ubuntu версии < 24.04, вам не требуется создавать виртуальное окружение. Перейдите к следующему шагу<$><>.
Следующим шагом является создание виртуального окружения в вашей установке Ubuntu, чтобы изолировать пакеты Python от системного окружения. Для этого перейдите в ваш каталог работы и выполните следующую команду:
Эта команда создаст новый каталог fastapi-env
и новое виртуальное окружение в нём. Все пакеты, которые вы устанавливаете с этого момента, будут изолированы от других проектов.
Далее вам нужно активировать это виртуальное окружение, чтобы убедиться, что все пакеты, которые вы устанавливаете с этого момента, будут установлены в этом изолированном окружении.
После выполнения команды вы увидите, что в terminal’e появится префикс с именем вашего виртуального окружения, как показано ниже:
Шаг 3 – Установка и активация Docker
Следующим шагом является установка Docker и Docker Compose в вашем виртуальном окружении.
После установки Docker запустите службу Docker и добавьте её в автозапуск при загрузке системы:
Чтобы убедиться, что вы получите最新 стабильную версию Docker Compose, вы скачиваете ее из официального GitHub репозитория, а не используете apt
.
Сначала убедитесь, что последняя версия доступна на странице релизов официального GitHub Docker, затем в терминале выполните следующий запрос CURL.
Выполните следующий код, чтобы сделать файл двоичного интерпретатора docker-compose
выполняемым для любого пользователя машины.
Проверьте установку, выполнив:
Шаг 4 – Создание FastAPI приложения
Теперь пришло время начать создание Python-приложения, использующего FastAPI-фреймворк. Сначала создайте файл main.py
:
以下是一个示例Python应用程序,该程序使用FastAPI框架和预训练的AI模型来分析给定文本的情感。
Чтобы успешно запустить это приложение, вам потребуются необходимые зависимости, но вы не должны устанавливать их вручную. Установка этих пакетов будет осуществляться внутри Dockerfile, о котором будет говориться в следующем шаге.
Шаг 5 – Создание Dockerfile и конфигурации YAML
Следующим шагом вы создадите Dockerfile для этого приложения. Dockerfile определяет среду, в которой ваше приложение FastAPI будет работать. Создайте файл Dockerfile
в каталоге проекта, выполнив следующую команду:
В текстовом редакторе добавьте следующий контент:
Docker Compose simplify the management of multi-container applications. Next, you need to create a docker-compose.yml
configuration file in the project directory.
Добавьте следующий контент в пустой файл:
In this configuration,
version
: Specifies the Docker Compose version to use.services
: Defines the services to create.web
: Specifies the name of the service running your FastAPI application.build
: Specifies the directory to build the Docker image from. In this case, it’s the same directory wheredocker-compose.yml
is placed.ports
: Maps port 8000 on the host machine to port 80 inside the container.volumes
: Mounts the current directory as a volume inside the container, so you can reload live code.
Шаг 6 – Сборка и запуск контейнера Docker
Используйте Docker Compose для сборки этого образа Docker и запуска контейнера:
Этот запрос сборки образа Docker из Dockerfile в текущем каталоге. Теперь, чтобы запустить актуальное приложение, выполните следующий запрос в терминале:
Шаг 7 – Доступ к вашему FastAPI-приложению
После запуска контейнера вы можете получить доступ к вашему FastAPI-приложению, перейдя по ссылке http://localhost:8000
в веб-браузере.
Шаг 8 [OPTIONAL] – Управление вашим Docker-контейнером
Вот несколько советом, которые помогут вам лучше управлять контейнеризированной средой, в которой запущено ваше FastAPI-приложение.
-
Чтобы остановить запущенный контейнер, нажмите Ctrl + C или Command + ..
-
Чтобы получить управление, если контейнер работает в фоновом режиме, используйте:
-
Чтобы остановить и удалить ваш контейнер, выполните:
Заключение
В этом руководстве вы leanrа, как создавать и настраивать FastAPI приложения на Ubuntu сервере с использованием Docker Compose. Благодаря скорости FastAPI и эффективности Docker, вы можете построить прочные, масштабируемые приложения с уверенностью.
Source:
https://www.digitalocean.com/community/tutorials/create-fastapi-app-using-docker-compose