Python Flask в Docker

Python Flask V Docker



В этом уроке мы научимся контейнеризировать приложение Python Flask с помощью Docker.

Контейнеризация — это потрясающая функция, которая позволяет разработчикам упаковывать приложение вместе с необходимыми зависимостями в один модуль. Затем мы можем переместить контейнер и развернуть приложение в разных средах, не беспокоясь о совместимости.

Что такое фляга?

Flask — это минималистичный и легкий микровеб-фреймворк для Python. Он предоставляет основные функции и библиотеки, необходимые для создания легкого веб-приложения с использованием языка Python.







Flask следует интерфейсу шлюза веб-сервера или стандарту WSGI, который позволяет нам сочетать минималистичный дизайн с гибким шаблоном, который может обрабатывать HTTP-запросы и другие функции. Например, Flask поддерживает такие веб-функции, как маршрутизация, базы данных и многое другое.



Предпосылки:

Чтобы следовать коду и командам, представленным в этом руководстве, убедитесь, что у вас есть следующие инструменты:



  1. Установленный интерпретатор Python на вашем компьютере (рекомендуется версия 3.11 и выше)
  2. Установленный движок Docker на хост-компьютере (рекомендуется версия 23 и выше).
  3. Текстовый редактор или IDE по вашему выбору.

При соблюдении данных требований мы можем продолжить работу с этим руководством.





Создайте приложение Flask

Как вы можете догадаться, первым шагом является создание приложения Python, которое мы хотим поместить в контейнер. В нашем случае мы продемонстрируем это с помощью минималистичного приложения, которое печатает «привет, мир».

Создайте новый каталог для хранения исходного кода вашего проекта и создайте файл Python с именем «app.py».



Отредактируйте «app.py» с помощью вашего любимого текстового редактора или IDE и добавьте код для своего приложения следующим образом:

от колба Импортировать Колба

приложение '=' Колба ( __имя__ )
@ приложение. маршрут ( '/' )
защита Привет, мир ( ) :
возвращаться '

Привет, мир!

'

Создать Docker-файл

Далее нам нужно определить инструкции, которые позволят нам упаковать приложение в виде образа Docker. Мы используем Dockerfile, который содержит все инструкции и инструменты для настройки образа.

В том же каталоге, что и «hello.py», создайте новый файл с именем «Dockerfile» без расширения. Выполните следующую команду:

$ коснитесь Dockerfile

Отредактируйте файл и добавьте следующий код:

Используйте официальный образ Python в качестве базового.

ИЗ питона: 3.12 -rc-slim
РАБОЧИЙ ПАРАМЕТР/приложение
КОПИРОВАТЬ. /приложение
# Установить колбу
RUN pip install --no-cache- ты -р требования. текст
# Открыть порт 5000 для приложения Flask
РАЗОБЛАЧАТЬ 5000
# запускаем приложение Flask
КМД [ 'питон' , 'app.py' ]

Предыдущий Dockerfile выполняет следующие операции:

  • В качестве базового образа используется официальный тонкий образ Python 3.12.
  • Устанавливает рабочий каталог внутри контейнера «/app».
  • Копирует содержимое каталога проекта в контейнер.
  • Устанавливает Flask и любые другие зависимости, запустив «pip install» с использованием файла «requirements.txt».
  • Предоставляет порт 5000 для приложения Flask.
  • Определяет команду для запуска приложения Flask.

Убедитесь, что файл «requirements.txt» существует в каталоге проекта, и добавьте содержимое файла, как показано ниже:

Колба == 2.3.3

В этом случае мы указываем, что хотим установить Flask версии 2.3.3.

Создайте образ Docker

Теперь, когда у нас есть готовое приложение Flask и Dockerfile, мы можем продолжить сборку образа с помощью следующей команды:

docker build -t flask-docker-app.

Прежде чем запускать предыдущую команду, убедитесь, что вы находитесь в каталоге проекта. Вы можете заменить flask-docker-app именем, которое вы хотите присвоить своему изображению.

Запустите Docker-контейнер

Создав образ Docker, мы можем запустить контейнер на его основе с помощью команды «docker run» следующим образом:

докер запустить -p 5000 : 5000 колба-докер-приложение

Это должно создать контейнер и сопоставить порт 5000 из контейнера с портом 5000 в хост-системе.

После выполнения откройте браузер и перейдите к http://localhost:5000 .

Вы должны увидеть надпись «Hello, World!» сообщение из приложения Flask.

Заключение

В этом руководстве вы узнали, как контейнеризировать простое приложение Python Flask с помощью Docker.