Konteineris yra puiki funkcija, leidžianti mums, kūrėjams, supakuoti programą kartu su reikiamomis priklausomybėmis į vieną vienetą. Tada galime perkelti konteinerį ir įdiegti programą įvairiose aplinkose, nesirūpindami dėl suderinamumo.
Kas yra Kolba?
Flask yra minimalistinė ir lengva mikro žiniatinklio sistema, skirta Python. Jame pateikiama pagrindinė funkcija ir bibliotekos, kurių reikia norint sukurti lengvą žiniatinklio programą naudojant Python kalbą.
„Flask“ vadovaujasi žiniatinklio serverio šliuzo sąsaja arba WSGI standartu, leidžiančiu integruoti minimalistinį dizainą su lanksčiu šablonu, kuris gali apdoroti HTTP užklausą ir kitas funkcijas. Pavyzdžiui, „Flask“ palaiko žiniatinklio funkcijas, tokias kaip maršruto parinkimas, duomenų bazės ir kt.
Būtinos sąlygos:
Jei norite vadovautis šioje pamokoje pateiktu kodu ir komandomis, įsitikinkite, kad turite šiuos įrankius:
- Įrenginyje įdiegtas Python interpretatorius (rekomenduojama 3.11 ir naujesnė versija)
- Pagrindiniame kompiuteryje įdiegtas „Docker“ variklis (rekomenduojama 23 ir naujesnė versija)
- Jūsų pasirinktas teksto rengyklė arba IDE
Įvykdę nurodytus reikalavimus, galime tęsti šią mokymo programą.
Sukurkite „Flask“ programą
Kaip galite atspėti, pirmasis žingsnis yra sukurti Python programą, kurią norime sudėti į konteinerius. Mūsų atveju mes tai demonstruojame su minimalistine programa, kuri spausdina „hello world“.
Sukurkite naują katalogą projekto šaltinio kodui saugoti ir sukurkite Python failą pavadinimu „app.py“.
Redaguokite „app.py“ naudodami mėgstamą teksto rengyklę arba IDE ir pridėkite programos kodą taip:
iš kolba importuoti Kolbaprogramėlė = Kolba ( __vardas__ )
@ programėlė. maršrutą ( '/' )
def Labas pasauli ( ) :
grąžinti „
Sveikas, pasauli!
“
Sukurkite Docker failą
Tada turime apibrėžti instrukcijas, leidžiančias supakuoti programą kaip „Docker“ vaizdą. Naudojame Dockerfile, kuriame yra visos instrukcijos ir įrankiai, kaip nustatyti vaizdą.
Tame pačiame kataloge kaip „hello.py“ sukurkite naują failą pavadinimu „Dockerfile“ be plėtinio. Vykdykite šią komandą:
$ palieskite DockerfileRedaguokite failą ir pridėkite kodą taip:
Naudokite oficialų Python vaizdą kaip pagrindinį vaizdą.
IŠ python: 3.12 -rc-slimWORKDIR /app
KOPIJUOT. /app
# Įdiekite kolbą
VYKDYTI pip diegimą --no-cache- tu -r reikalavimai. txt
# Atskleiskite programos „Flask“ 5000 prievadą
ATSAKYTI 5000
# paleiskite programą „Flask“.
CMD [ 'python' , 'app.py' ]
Ankstesnis Dockerfile atlieka šias operacijas:
- Naudojamas oficialus Python 3.12 plonas vaizdas kaip pagrindinis vaizdas
- Nustato darbo katalogą konteinerio viduje į „/app“
- Nukopijuoja projekto katalogo turinį į konteinerį
- Įdiegia „Flask“ ir visas kitas priklausomybes, vykdydamas „pip install“ naudodami failą „requirements.txt“
- Atskleidžia 5000 prievadą, skirtą „Flask“ programai
- Apibrėžia komandą Flask programai paleisti
Įsitikinkite, kad projekto kataloge yra failas „requirements.txt“, ir pridėkite failo turinį, kaip parodyta toliau:
Kolba == 2.3.3Šiuo atveju nurodome, kad norime įdiegti Flask 2.3.3 versiją.
Sukurkite „Docker“ vaizdą
Dabar, kai turime paruoštą programą „Flask“ ir „Dockerfile“, galime tęsti ir kurti vaizdą naudodami šią komandą:
docker build -t flask-docker-app .Prieš paleisdami ankstesnę komandą įsitikinkite, kad esate projekto kataloge. Galite pakeisti programą „Flask-Docker“ pavadinimu, kurį norite priskirti savo atvaizdui.
Paleiskite Docker konteinerį
Sukūrę „Docker“ vaizdą, galime paleisti konteinerį pagal vaizdą naudodami komandą „docker run“ taip:
dokerio paleidimas -p 5000 : 5000 kolbos-docker-programaTai turėtų sukurti konteinerį ir susieti 5000 prievadą iš konteinerio į prievadą 5000 pagrindinėje sistemoje.
Vykdę atidarykite naršyklę ir eikite į http://localhost:5000 .
Turėtumėte pamatyti 'Sveikas, pasauli!' pranešimą iš programos Flask.
Išvada
Šiame vadove sužinojote, kaip sudėti paprastą Python Flask programą naudojant Docker.