Python Flask u Dockeru

Python Flask U Dockeru



U ovom vodiču naučit ćemo kako staviti u spremnik aplikaciju Python Flask pomoću Dockera.

Kontejnerizacija je epska značajka koja nama programerima omogućuje pakiranje aplikacije zajedno sa potrebnim ovisnostima u jednu jedinicu. Zatim možemo premjestiti spremnik i implementirati aplikaciju u više okruženja bez potrebe da brinemo o kompatibilnosti.

Što je Flask?

Flask je minimalistički i lagan mikro web okvir za Python. Pruža bitnu značajku i biblioteke koje su potrebne za izradu lagane web aplikacije pomoću jezika Python.







Flask slijedi Web Server Gateway Interface ili WSGI standard koji nam omogućuje da ugradimo minimalistički dizajn s fleksibilnim uzorkom koji može obraditi HTTP zahtjev i druge značajke. Na primjer, Flask podržava web značajke kao što su usmjeravanje, baze podataka i više.



Preduvjeti:

Da biste slijedili kod i naredbe koje se nalaze u ovom vodiču, provjerite imate li sljedeće alate:



  1. Instalirani Python tumač na vašem računalu (preporučuje se verzija 3.11 i novija)
  2. Instalirani Docker mehanizam na glavnom računalu (preporučuje se verzija 23 i novija)
  3. Uređivač teksta ili IDE po vašem izboru

Uz ispunjenje zadanih zahtjeva, možemo nastaviti s ovim vodičem.





Napravite aplikaciju Flask

Kao što možete pogoditi, prvi korak je stvaranje Python aplikacije koju želimo spremiti u spremnik. Za naš slučaj, demonstriramo to s minimalističkom aplikacijom koja ispisuje 'hello world'.

Napravite novi direktorij za pohranu izvornog koda za svoj projekt i izradite Python datoteku pod nazivom 'app.py'.



Uredite 'app.py' svojim omiljenim uređivačem teksta ili IDE-om i dodajte kôd za svoju aplikaciju na sljedeći način:

iz pljoska uvoz Boca

aplikacija = Boca ( __Ime__ )
@ aplikacija ruta ( '/' )
def Pozdrav svijete ( ) :
povratak '

Zdravo, svijete!

'

Stvorite Dockerfile

Zatim moramo definirati upute koje nam omogućuju pakiranje aplikacije kao Docker slike. Koristimo Dockerfile koji sadrži sve upute i alate za postavljanje slike.

U istom direktoriju kao 'hello.py', stvorite novu datoteku pod nazivom 'Dockerfile' bez ekstenzije. Pokrenite sljedeću naredbu:

$ dodirnite Dockerfile

Uredite datoteku i dodajte kod na sljedeći način:

Koristite službenu Python sliku kao osnovnu sliku.

IZ pythona: 3.12 -rc-tanak
RADNI DIR /app
KOPIRAJ . /aplikacija
# Instalirajte Flask
POKRENI pip instalaciju --no-cache- vas -r zahtjevi. txt
# Izložite port 5000 za aplikaciju Flask
IZLOŽITI 5000
# pokrenite aplikaciju Flask
CMD [ 'piton' , 'app.py' ]

Prethodna Dockerfile izvodi sljedeće operacije:

  • Koristi službenu slim sliku Python 3.12 kao osnovnu sliku
  • Postavlja radni direktorij unutar spremnika na “/app”
  • Kopira sadržaj direktorija projekta u spremnik
  • Instalira Flask i sve druge ovisnosti pokretanjem 'pip install' pomoću datoteke 'requirements.txt'
  • Izlaže priključak 5000 za aplikaciju Flask
  • Definira naredbu za pokretanje Flask aplikacije

Provjerite postoji li datoteka 'requirements.txt' u direktoriju projekta i dodajte sadržaj datoteke kao što je prikazano u nastavku:

Boca == 2.3.3

U ovom slučaju navodimo da želimo instalirati Flask verziju 2.3.3.

Izgradite Docker sliku

Sada kada imamo spremnu aplikaciju Flask i Dockerfile, možemo nastaviti i izgraditi sliku pomoću sljedeće naredbe:

docker build -t flask-docker-app.

Provjerite jeste li u direktoriju projekta prije pokretanja prethodne naredbe. Flask-docker-aplikaciju možete zamijeniti imenom koje želite dodijeliti svojoj slici.

Pokrenite Docker spremnik

S izgrađenom Docker slikom možemo pokrenuti spremnik na temelju slike pomoću naredbe “docker run” na sljedeći način:

docker run -p 5000 : 5000 flask-docker-aplikacija

Ovo bi trebalo stvoriti spremnik i mapirati port 5000 iz spremnika u port 5000 na glavnom sustavu.

Nakon izvršenja, otvorite preglednik i idite na http://localhost:5000 .

Trebali biste vidjeti 'Hello, World!' poruka iz aplikacije Flask.

Zaključak

U ovom ste vodiču naučili kako staviti u kontejner jednostavnu Python Flask aplikaciju pomoću Dockera.