Python Flask v Dockeru

Python Flask V Dockeru



V tomto tutoriálu se naučíme, jak kontejnerizovat aplikaci Python Flask pomocí Dockeru.

Kontejnerizace je epická funkce, která nám vývojářům umožňuje zabalit aplikaci spolu s požadovanými závislostmi do jediné jednotky. Poté můžeme kontejner přesunout a nasadit aplikaci napříč prostředími, aniž bychom se museli starat o kompatibilitu.

Co je to Flask?

Flask je minimalistický a lehký mikrowebový framework pro Python. Poskytuje základní funkce a knihovny, které jsou nutné k vytvoření odlehčené webové aplikace pomocí jazyka Python.







Flask se řídí standardem Web Server Gateway Interface nebo WSGI, což nám umožňuje začlenit minimalistický design s flexibilním vzorem, který zvládne požadavek HTTP a další funkce. Flask například podporuje webové funkce, jako je směrování, databáze a další.



Předpoklady:

Chcete-li se řídit kódem a příkazy, které jsou uvedeny v tomto kurzu, ujistěte se, že máte následující nástroje:



  1. Nainstalovaný interpret Python na vašem počítači (doporučuje se verze 3.11 a vyšší)
  2. Nainstalovaný Docker engine na hostitelském počítači (doporučuje se verze 23 a vyšší)
  3. Textový editor nebo IDE dle vašeho výběru

Po splnění daných požadavků můžeme pokračovat v tomto tutoriálu.





Vytvořte aplikaci Flask

Jak můžete hádat, prvním krokem je vytvoření aplikace Python, kterou chceme kontejnerizovat. V našem případě to demonstrujeme pomocí minimalistické aplikace, která tiskne „ahoj světe“.

Vytvořte nový adresář pro uložení zdrojového kódu pro váš projekt a vytvořte soubor Python s názvem „app.py“.



Upravte soubor „app.py“ pomocí svého oblíbeného textového editoru nebo IDE a přidejte kód pro svou aplikaci následovně:

z baňka import Baňka

aplikace = Baňka ( __název__ )
@ aplikace. trasa ( '/' )
def Ahoj světe ( ) :
vrátit se '

Ahoj, světe!

'

Vytvořte Dockerfile

Dále musíme definovat instrukce, které nám umožní zabalit aplikaci jako obrázek Dockeru. Používáme soubor Dockerfile, který obsahuje všechny pokyny a nástroje k nastavení obrazu.

Ve stejném adresáři jako „hello.py“ vytvořte nový soubor s názvem „Dockerfile“ bez přípony. Spusťte následující příkaz:

$ klepněte na Dockerfile

Upravte soubor a přidejte kód následovně:

Jako základní obrázek použijte oficiální obrázek Pythonu.

Z pythonu: 3.12 -rc-štíhlý
WORKDIR / aplikace
KOPÍROVAT . /aplikace
# Nainstalujte baňku
SPUSTIT instalaci pipu --no-cache- vy -r požadavky. txt
# Vystavte port 5000 pro aplikaci Flask
ODHALIT 5000
# spusťte aplikaci Flask
CMD [ 'krajta' , 'app.py' ]

Předchozí soubor Dockerfile provádí následující operace:

  • Jako základní obrázek používá oficiální tenký obrázek Pythonu 3.12
  • Nastaví pracovní adresář uvnitř kontejneru na „/app“
  • Zkopíruje obsah adresáře projektu do kontejneru
  • Nainstaluje Flask a jakékoli další závislosti spuštěním „pip install“ pomocí souboru „requirements.txt“.
  • Vystavuje port 5000 pro aplikaci Flask
  • Definuje příkaz pro spuštění aplikace Flask

Ujistěte se, že soubor „requirements.txt“ existuje v adresáři projektu a přidejte obsah souboru, jak je znázorněno v následujícím:

Baňka == 2.3.3

V tomto případě specifikujeme, že chceme nainstalovat Flask verze 2.3.3.

Vytvořte Docker Image

Nyní, když máme připravenou aplikaci Flask a Dockerfile, můžeme pokračovat a vytvořit obrázek pomocí následujícího příkazu:

docker build -t flask-docker-app .

Před spuštěním předchozího příkazu se ujistěte, že jste v adresáři projektu. Aplikaci flask-docker-app můžete nahradit názvem, který chcete svému obrázku přiřadit.

Spusťte Docker Container

S vytvořeným obrazem Docker můžeme spustit kontejner na základě obrazu pomocí příkazu „docker run“ takto:

docker spustit -p 5000 : 5000 flask-docker-app

To by mělo vytvořit kontejner a namapovat port 5000 z kontejneru na port 5000 v hostitelském systému.

Po spuštění otevřete prohlížeč a přejděte na http://localhost:5000 .

Měli byste vidět 'Ahoj, světe!' zprávu z aplikace Flask.

Závěr

V tomto tutoriálu jste se naučili kontejnerizovat jednoduchou aplikaci Python Flask pomocí Dockeru.