Как создать и запустить приложение Flask с помощью Docker

12 set 2022 2 min di lettura
Как создать и запустить приложение Flask с помощью Docker
Indice dei contenuti

Введение

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

В этом процессе вы также узнаете, как использовать несколько виртуальных сред Python и поддерживать порядок в исходном коде.

Что такое Фласк?

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

Flask используется такими компаниями, как Pinterest, Twitter, Walmart и Cisco. Одно из распространенных применений Flask — API REST, используемые для взаимодействия с другими системами. Приложения, написанные на Flask, также можно легко развернуть на сервере или в облаке.

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

Прежде чем вы сможете создать образ Docker с вашим приложением, вам необходимо иметь базовое приложение, которое вы можете запускать локально или на сервере.

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

Начнем с создания нового каталога:

mkdir flask-app && flask-app

Затем создайте виртуальную среду Python, а затем активируйте среду:

python3 -m venv venv
source venv/bin/activate

Теперь установите модуль Flask Python в виртуальную среду:

pip install Flask

Следующая команда создаст файл Requirements.txt с пакетами, установленными в текущей среде. Этот файл полезен для установки модуля в дистрибутивах:

pip freeze > requirements.txt

Теперь создайте образец приложения Flask. Вы можете написать свой код в файле .py и запустить его с помощью команды python:

vim app.py

Добавьте фрагмент ниже:

# Import flask module
 from flask import Flask

 app = Flask(__name__)

 @app.route('/')
 def index():
 return 'Hello to Flask!'

 # main driver function
 if __name__ == "__main__":
 app.run()

Образец вашего приложения Flask готов. Вы можете запустить этот скрипт с Python прямо сейчас:

flask run --host 0.0.0.0 --port 5000

Теперь, когда у вас есть базовое приложение, вы можете запустить его в контейнере Docker, создав файл с именем Dockerfile в том же каталоге, что и ваш файл app.py.

Создайте Dockerfile для своего приложения Flask

Dockerfile — это файл, содержащий инструкции по созданию образа. Описывает весь процесс создания образа от установки приложения Python до создания контейнера.

Давайте создадим файл с именем Dockerfile в каталоге проекта. Это плавающее окно файла, в котором читаются инструкции по созданию образа:

vim Dockerfile

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

FROM python:3-alpine

 # Create app directory
 WORKDIR /app

 # Install app dependencies
 COPY requirements.txt./RUN pip install -r requirements.txt

 # Bundle app source
 COPY..

 EXPOSE 5000
 CMD [ "flask", "run","--host","0.0.0.0","--port","5000"]

Сохраните файл и закройте его.

Затем создайте образ Docker, выполнив приведенную ниже команду. Здесь «фласк-приложение» — это имя изображения:

docker build -t flask-app.

Этот образ будет создан в локальном реестре образов. Затем вы можете создать контейнер Docker с помощью следующей команды:

sudo docker run -it -p 5000:5000 -d flask-app

Теперь убедитесь, что контейнер работает в вашей системе:

docker containers ls

Наконец, откройте браузер и подключитесь к локальному хосту через порт 5000 (или используйте указанный вами порт). Вы должны увидеть только что созданное приложение.

Вы можете использовать Dockerfile для автоматизации создания и обновления образа.

Вывод

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

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.