Python kolba programmā Docker

Python Kolba Programma Docker



Šajā apmācībā mēs uzzināsim, kā konteinerizēt Python Flask lietojumprogrammu, izmantojot Docker.

Konteineru ievietošana ir episka funkcija, kas ļauj mums, izstrādātājiem, iesaiņot lietojumprogrammu kopā ar nepieciešamajām atkarībām vienā vienībā. Pēc tam mēs varam pārvietot konteineru un izvietot lietojumprogrammu dažādās vidēs, neuztraucoties par saderību.

Kas ir Kolba?

Flask ir minimālistisks un viegls Python mikro tīmekļa ietvars. Tas nodrošina būtisku līdzekli un bibliotēkas, kas nepieciešamas, lai izveidotu vieglu tīmekļa lietojumprogrammu, izmantojot Python valodu.







Flask izmanto Web Server Gateway Interface vai WSGI standartu, kas ļauj mums iekļaut minimālistisku dizainu ar elastīgu modeli, kas var apstrādāt HTTP pieprasījumu un citas funkcijas. Piemēram, Flask atbalsta tīmekļa funkcijas, piemēram, maršrutēšanu, datu bāzes un daudz ko citu.



Priekšnosacījumi:

Lai sekotu līdzi šajā apmācībā sniegtajam kodam un komandām, pārliecinieties, vai jums ir šādi rīki:



  1. Jūsu datorā ir instalēts Python tulks (ieteicama versija 3.11 un jaunāka versija)
  2. Instalētais Docker dzinējs resursdatorā (ieteicama versija 23 un jaunāka versija)
  3. Teksta redaktors vai IDE pēc jūsu izvēles

Ja ir izpildītas norādītās prasības, mēs varam turpināt šo apmācību.





Izveidojiet Kolbas lietojumprogrammu

Kā jūs varat uzminēt, pirmais solis ir izveidot Python lietojumprogrammu, kuru mēs vēlamies konteinerizēt. Mūsu gadījumā mēs to demonstrējam ar minimālistisku lietotni, kas izdrukā “sveiki pasaule”.

Izveidojiet jaunu direktoriju, lai saglabātu projekta avota kodu, un izveidojiet Python failu ar nosaukumu “app.py”.



Rediģējiet “app.py” ar savu iecienītāko teksta redaktoru vai IDE un pievienojiet lietojumprogrammas kodu šādi:

no kolba imports Kolba

lietotne = Kolba ( __vārds__ )
@ lietotne. maršruts ( '/' )
def Sveika pasaule ( ) :
atgriezties '

Sveika, pasaule!

'

Izveidojiet Docker failu

Tālāk mums ir jādefinē instrukcijas, kas ļauj mums iesaiņot lietojumprogrammu kā Docker attēlu. Mēs izmantojam Dockerfile, kurā ir visas instrukcijas un rīki attēla iestatīšanai.

Tajā pašā direktorijā, kur “hello.py”, izveidojiet jaunu failu ar nosaukumu “Dockerfile” bez paplašinājuma. Palaidiet šādu komandu:

$ pieskarieties Dockerfile

Rediģējiet failu un pievienojiet kodu šādi:

Izmantojiet oficiālo Python attēlu kā pamata attēlu.

NO python: 3.12 -rc-slim
WORKDIR /app
KOPĒT. /app
# Instalējiet Kolbu
RUN PIP instalēšana -- bez kešatmiņas- tu -r prasības. txt
# Atklājiet lietotnes Flask portu 5000
ATKLĀJOT 5000
# palaidiet lietojumprogrammu Flask
CMD [ 'pitons' , 'app.py' ]

Iepriekšējais Dockerfile veic šādas darbības:

  • Kā pamata attēlu izmanto oficiālo Python 3.12 slim attēlu
  • Iestata darba direktoriju konteinerā uz “/app”
  • Iekopē projekta direktorijas saturu konteinerā
  • Instalē Flask un visas citas atkarības, palaižot “pip install”, izmantojot failu “requirements.txt”.
  • Atklāj 5000. portu lietojumprogrammai Flask
  • Definē komandu, lai palaistu programmu Flask

Pārliecinieties, vai projekta direktorijā eksistē fails “requirements.txt”, un pievienojiet faila saturu, kā parādīts tālāk.

Kolba == 2.3.3

Šajā gadījumā mēs norādām, ka vēlamies instalēt Flask versiju 2.3.3.

Izveidojiet Docker attēlu

Tagad, kad mums ir gatava lietojumprogramma Flask un Dockerfile, mēs varam turpināt un izveidot attēlu ar šādu komandu:

docker build -t flask-docker-app.

Pirms iepriekšējās komandas palaišanas pārliecinieties, vai atrodaties projekta direktorijā. Varat aizstāt lietotni Flask-docker ar nosaukumu, ko vēlaties piešķirt savam attēlam.

Palaidiet Docker konteineru

Ja ir izveidots Docker attēls, mēs varam palaist konteineru, pamatojoties uz attēlu, izmantojot komandu “docker run” šādi:

docker palaist - lpp 5000 : 5000 flas-docker-app

Tam vajadzētu izveidot konteineru un kartēt portu 5000 no konteinera uz portu 5000 resursdatora sistēmā.

Kad tas ir izpildīts, atveriet pārlūkprogrammu un dodieties uz http://localhost:5000 .

Jums vajadzētu redzēt 'Sveika, pasaule!' ziņojumu no lietojumprogrammas Flask.

Secinājums

Šajā apmācībā jūs uzzinājāt, kā konteinerā ievietot vienkāršu Python Flask lietojumprogrammu, izmantojot Docker.