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:
- Installert Python-tolk på maskinen din (versjon 3.11 og nyere anbefales)
- Installert Docker-motor på vertsmaskinen (versjon 23 og nyere anbefales)
- 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 Kolbeapp = 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å DockerfileRediger filen og legg til koden som følger:
Bruk det offisielle Python-bildet som basisbilde.
FRA python: 3.12 -rc-slankWORKDIR /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.3I 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-appDette 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.