Python Flask în Docker

Python Flask In Docker



În acest tutorial, vom învăța cum să containerizați o aplicație Python Flask folosind Docker.

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:



  1. Interpretul Python instalat pe computer (se recomandă versiunea 3.11 și mai sus)
  2. Motorul Docker instalat pe mașina gazdă (se recomandă versiunea 23 și mai sus)
  3. 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 Balon

aplicaț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 Dockerfile

Editaț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-slim
WORKDIR /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-app

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