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:
- Instalirani Python tumač na vašem računalu (preporučuje se verzija 3.11 i novija)
- Instalirani Docker mehanizam na glavnom računalu (preporučuje se verzija 23 i novija)
- 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 Bocaaplikacija = 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 DockerfileUredite datoteku i dodajte kod na sljedeći način:
Koristite službenu Python sliku kao osnovnu sliku.
IZ pythona: 3.12 -rc-tanakRADNI 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.3U 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-aplikacijaOvo 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.