Containerizarea este o caracteristică epică care ne permite dezvoltatorilor să ambalăm o aplicație împreună cu dependențele necesare într-o singură unitate. Putem apoi muta containerul și implementa aplicația în medii fără a fi nevoie să ne facem griji cu privire la compatibilitate.
Ce este Flask?
Flask este un cadru web minimalist și ușor pentru Python. Acesta oferă caracteristicile esențiale și bibliotecile necesare pentru a construi aplicația web ușoară folosind limbajul Python.
Flask urmează interfața Web Server Gateway sau standardul WSGI care ne permite să încorporăm un design minimalist cu un model flexibil care poate gestiona cererea HTTP și alte caracteristici. De exemplu, Flask acceptă funcțiile web, cum ar fi rutarea, bazele de date și multe altele.
Cerințe preliminare:
Pentru a urma codul și comenzile care sunt furnizate în acest tutorial, asigurați-vă că aveți următoarele instrumente:
- Interpretul Python instalat pe computer (se recomandă versiunea 3.11 și mai sus)
- Motorul Docker instalat pe mașina gazdă (se recomandă versiunea 23 și mai sus)
- Un editor de text sau IDE la alegere
Cu cerințele date îndeplinite, putem continua cu acest tutorial.
Creați aplicația Flask
După cum puteți ghici, primul pas este crearea aplicației Python pe care dorim să o containerizam. Pentru cazul nostru, o demonstrăm cu o aplicație minimalistă care imprimă „hello world”.
Creați un director nou pentru a stoca codul sursă pentru proiectul dvs. și creați un fișier Python numit „app.py”.
Editați „app.py” cu editorul de text sau IDE-ul preferat și adăugați codul aplicației dvs. după cum urmează:
din balon import Balonaplicația = Balon ( __Nume__ )
@ aplicația. traseu ( '/' )
def Salut Lume ( ) :
întoarcere „
Bună ziua, lume!
”
Creați un Dockerfile
În continuare, trebuie să definim instrucțiunile care ne permit să ambalăm aplicația ca imagine Docker. Folosim fișierul Dockerfile care conține toate instrucțiunile și instrumentele pentru a configura imaginea.
În același director cu „hello.py”, creați un fișier nou numit „Dockerfile” fără extensie. Rulați următoarea comandă:
$ atingeți DockerfileEditați fișierul și adăugați codul după cum urmează:
Utilizați imaginea oficială Python ca imagine de bază.
DIN python: 3.12 -rc-slimWORKDIR /app
COPIE . /app
# Instalați Flask
RUN pip install --no-cache- tu -r cerințe. TXT
# Expuneți portul 5000 pentru aplicația Flask
EXPUNE 5000
# rulați aplicația Flask
CMD [ 'piton' , „app.py” ]
Dockerfile anterior efectuează următoarele operații:
- Utilizează imaginea subțire oficială Python 3.12 ca imagine de bază
- Setează directorul de lucru din interiorul containerului la „/app”
- Copiază conținutul directorului de proiect în container
- Instalează Flask și orice alte dependențe rulând „pip install” folosind fișierul „requirements.txt”
- Expune portul 5000 pentru aplicația Flask
- Definește comanda pentru a rula aplicația Flask
Asigurați-vă că fișierul „requirements.txt” există în directorul proiectului și adăugați conținutul fișierului, așa cum se arată în următoarele:
Balon == 2.3.3În acest caz, precizăm că dorim să instalăm versiunea Flask 2.3.3.
Creați imaginea Docker
Acum că avem aplicația Flask și Dockerfile pregătite, putem continua și construi imaginea cu următoarea comandă:
docker build -t flask-docker-app .Asigurați-vă că vă aflați în directorul proiectului înainte de a rula comanda anterioară. Puteți înlocui aplicația flask-docker cu numele pe care doriți să-l atribui imaginii dvs.
Rulați containerul Docker
Cu imaginea Docker construită, putem rula containerul pe baza imaginii folosind comanda „docker run” după cum urmează:
docker run -p 5000 : 5000 flask-docker-appAceasta ar trebui să creeze un container și să mapați portul 5000 de la container la portul 5000 de pe sistemul gazdă.
Odată executat, deschideți browserul și navigați la http://localhost:5000 .
Ar trebui să vedeți „Bună, lume!” mesaj din aplicația Flask.
Concluzie
În acest tutorial, ați învățat cum să containerizați o aplicație simplă Python Flask folosind Docker.