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:
- Nainstalovaný interpret Python na vašem počítači (doporučuje se verze 3.11 a vyšší)
- Nainstalovaný Docker engine na hostitelském počítači (doporučuje se verze 23 a vyšší)
- 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ňkaaplikace = 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 DockerfileUpravte 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.3V 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-appTo 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.