Python Flask i Docker

Python Flask I Docker



I denne opplæringen skal vi lære hvordan du kan containerisere en Python Flask-applikasjon ved hjelp av Docker.

Containerisering er en episk funksjon som lar oss utviklere pakke en applikasjon sammen med de nødvendige avhengighetene i en enkelt enhet. Vi kan deretter flytte beholderen og distribuere applikasjonen på tvers av miljøer uten å måtte bekymre oss for kompatibilitet.

Hva er Flask?

Flask er et minimalistisk og lett mikronettverk for Python. Den gir den essensielle funksjonen og bibliotekene som kreves for å bygge den lette nettapplikasjonen ved å bruke Python-språket.







Flask følger Web Server Gateway Interface eller WSGI-standarden som lar oss innlemme et minimalistisk design med et fleksibelt mønster som kan håndtere HTTP-forespørselen og andre funksjoner. Flask støtter for eksempel nettfunksjonene som ruting, databaser og mer.



Forutsetninger:

For å følge med på koden og kommandoene som er gitt i denne opplæringen, sørg for at du har følgende verktøy:



  1. Installert Python-tolk på maskinen din (versjon 3.11 og nyere anbefales)
  2. Installert Docker-motor på vertsmaskinen (versjon 23 og nyere anbefales)
  3. En tekstredigerer eller IDE etter eget valg

Med de gitte kravene oppfylt, kan vi fortsette med denne opplæringen.





Opprett Flask-applikasjonen

Som du kan gjette, er det første trinnet å lage Python-applikasjonen som vi ønsker å beholde. For vårt tilfelle demonstrerer vi det med en minimalistisk app som skriver ut 'hei verden'.

Opprett en ny katalog for å lagre kildekoden for prosjektet ditt og lag en Python-fil med navnet 'app.py'.



Rediger 'app.py' med din favoritt tekstredigerer eller IDE og legg til koden for applikasjonen din som følger:

fra kolbe import Kolbe

app = Kolbe ( __Navn__ )
@ app. rute ( '/' )
def Hei Verden ( ) :
komme tilbake '

Hei verden!

'

Lag en Dockerfile

Deretter må vi definere instruksjonene som lar oss pakke applikasjonen som et Docker-bilde. Vi bruker Dockerfilen som inneholder alle instruksjoner og verktøy for å sette opp bildet.

I samme katalog som 'hello.py', lag en ny fil kalt 'Dockerfile' uten utvidelse. Kjør følgende kommando:

$ trykk på Dockerfile

Rediger filen og legg til koden som følger:

Bruk det offisielle Python-bildet som basisbilde.

FRA python: 3.12 -rc-slank
WORKDIR /app
KOPI . /app
# Installer Flask
KJØR pip-installasjon --no-cache- du -r krav. tekst
# Vis port 5000 for Flask-appen
AVDEKKE 5000
# kjør Flask-applikasjonen
CMD [ 'pyton' , 'app.py' ]

Den forrige Dockerfilen utfører følgende operasjoner:

  • Bruker det offisielle Python 3.12 slanke bildet som basisbilde
  • Setter arbeidskatalogen inne i beholderen til '/app'
  • Kopierer innholdet i prosjektkatalogen til beholderen
  • Installerer Flask og eventuelle andre avhengigheter ved å kjøre 'pip install' ved å bruke filen 'requirements.txt'.
  • Viser port 5000 for Flask-applikasjonen
  • Definerer kommandoen for å kjøre Flask-applikasjonen

Sørg for at filen 'requirements.txt' finnes i prosjektkatalogen og legg til innholdet i filen som vist i følgende:

Kolbe == 2.3.3

I dette tilfellet spesifiserer vi at vi ønsker å installere Flask versjon 2.3.3.

Bygg Docker-bildet

Nå som vi har Flask-applikasjonen og Dockerfile klar, kan vi fortsette og bygge bildet med følgende kommando:

docker build -t flask-docker-app .

Sørg for at du er i prosjektkatalogen før du kjører forrige kommando. Du kan erstatte flask-docker-appen med navnet du vil tilordne bildet ditt.

Kjør Docker Container

Med Docker-bildet bygget, kan vi kjøre beholderen basert på bildet ved å bruke kommandoen 'docker run' som følger:

docker run -s 5000 : 5000 flask-docker-app

Dette bør opprette en container og kartlegge port 5000 fra containeren til port 5000 på vertssystemet.

Når den er utført, åpne nettleseren og naviger til http://localhost:5000 .

Du bør se 'Hei, verden!' melding fra Flask-applikasjonen.

Konklusjon

I denne opplæringen lærte du hvordan du kan beholde en enkel Python Flask-applikasjon ved hjelp av Docker.