Python Flask programoje Docker

Python Flask Programoje Docker



Šiame vadove mes sužinosime, kaip sudėti Python Flask programą naudojant Docker.

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:



  1. Įrenginyje įdiegtas Python interpretatorius (rekomenduojama 3.11 ir naujesnė versija)
  2. Pagrindiniame kompiuteryje įdiegtas „Docker“ variklis (rekomenduojama 23 ir naujesnė versija)
  3. 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:

kolba importuoti Kolba

programė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 Dockerfile

Redaguokite failą ir pridėkite kodą taip:

Naudokite oficialų Python vaizdą kaip pagrindinį vaizdą.

IŠ python: 3.12 -rc-slim
WORKDIR /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-programa

Tai 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.