Kontajnerizácia je epická funkcia, ktorá nám vývojárom umožňuje zbaliť aplikáciu spolu s požadovanými závislosťami do jedného celku. Potom môžeme presunúť kontajner a nasadiť aplikáciu naprieč prostrediami bez toho, aby sme sa museli starať o kompatibilitu.
Čo je Flask?
Flask je minimalistický a ľahký mikro webový rámec pre Python. Poskytuje základné funkcie a knižnice, ktoré sú potrebné na vytvorenie ľahkej webovej aplikácie pomocou jazyka Python.
Flask sa riadi štandardom Web Server Gateway Interface alebo WSGI, čo nám umožňuje začleniť minimalistický dizajn s flexibilným vzorom, ktorý dokáže spracovať požiadavku HTTP a ďalšie funkcie. Flask napríklad podporuje webové funkcie, ako je smerovanie, databázy a ďalšie.
Predpoklady:
Ak chcete postupovať podľa kódu a príkazov, ktoré sú uvedené v tomto návode, uistite sa, že máte nasledujúce nástroje:
- Nainštalovaný interpret Pythonu na vašom počítači (odporúča sa verzia 3.11 a vyššia)
- Na hostiteľskom počítači nainštalovaný Docker engine (odporúča sa verzia 23 a vyššia)
- Textový editor alebo IDE podľa vášho výberu
Po splnení daných požiadaviek môžeme pokračovať v tomto návode.
Vytvorte aplikáciu Flask
Ako môžete hádať, prvým krokom je vytvorenie aplikácie Python, ktorú chceme kontajnerizovať. V našom prípade to demonštrujeme pomocou minimalistickej aplikácie, ktorá vytlačí „ahoj svet“.
Vytvorte nový adresár na uloženie zdrojového kódu pre váš projekt a vytvorte súbor Python s názvom „app.py“.
Upravte súbor „app.py“ pomocou svojho obľúbeného textového editora alebo IDE a pridajte kód pre svoju aplikáciu takto:
od banke importovať Bankaaplikácie = Banka ( __názov__ )
@ aplikácie. trasu ( '/' )
def ahoj_svet ( ) :
vrátiť '
Ahoj, Svet!
'
Vytvorte Dockerfile
Ďalej musíme definovať pokyny, ktoré nám umožnia zabaliť aplikáciu ako obrázok Docker. Používame súbor Dockerfile, ktorý obsahuje všetky pokyny a nástroje na nastavenie obrazu.
V rovnakom adresári ako „hello.py“ vytvorte nový súbor s názvom „Dockerfile“ bez prípony. Spustite nasledujúci príkaz:
$ dotknite sa súboru DockerfileUpravte súbor a pridajte kód takto:
Ako základný obrázok použite oficiálny obrázok Pythonu.
Z pythonu: 3.12 -rc-štíhlyWORKDIR / aplikácia
KOPÍROVAŤ . /aplik
# Nainštalujte banku
SPUSTITE inštaláciu pipu --no-cache- vy -r požiadavky. TXT
# Odkryte port 5000 pre aplikáciu Flask
VYSTAVIŤ 5000
# spustite aplikáciu Flask
CMD [ 'python' , 'app.py' ]
Predchádzajúci Dockerfile vykonáva nasledujúce operácie:
- Ako základný obrázok používa oficiálny tenký obrázok Pythonu 3.12
- Nastaví pracovný adresár v kontajneri na „/app“
- Skopíruje obsah adresára projektu do kontajnera
- Nainštaluje Flask a všetky ostatné závislosti spustením „pip install“ pomocou súboru „requirements.txt“.
- Odhaľuje port 5000 pre aplikáciu Flask
- Definuje príkaz na spustenie aplikácie Flask
Uistite sa, že súbor „requirements.txt“ existuje v adresári projektu a pridajte obsah súboru, ako je znázornené v nasledujúcom texte:
Banka == 2.3.3V tomto prípade špecifikujeme, že chceme nainštalovať Flask verzie 2.3.3.
Vytvorte obrázok Docker
Teraz, keď máme pripravenú aplikáciu Flask a Dockerfile, môžeme pokračovať a vytvoriť obrázok pomocou nasledujúceho príkazu:
docker build -t flask-docker-app .Pred spustením predchádzajúceho príkazu sa uistite, že ste v adresári projektu. Aplikáciu flask-docker-app môžete nahradiť názvom, ktorý chcete priradiť k obrázku.
Spustite kontajner Docker
S vytvoreným obrazom Docker môžeme spustiť kontajner založený na obrázku pomocou príkazu „docker run“ takto:
docker spustiť -p 5000 : 5000 flask-docker-appToto by malo vytvoriť kontajner a namapovať port 5000 z kontajnera na port 5000 v hostiteľskom systéme.
Po spustení otvorte prehliadač a prejdite na http://localhost:5000 .
Mali by ste vidieť 'Ahoj, svet!' správy z aplikácie Flask.
Záver
V tomto návode ste sa naučili, ako kontajnerizovať jednoduchú aplikáciu Python Flask pomocou Dockera.