Python-fles in Docker

Python Fles In Docker



In deze zelfstudie gaan we leren hoe u een Python Flask-toepassing kunt containeriseren met behulp van Docker.

Containerisatie is een epische functie waarmee wij als ontwikkelaars een applicatie samen met de vereiste afhankelijkheden in één eenheid kunnen verpakken. Vervolgens kunnen we de container verplaatsen en de applicatie in verschillende omgevingen implementeren zonder dat we ons zorgen hoeven te maken over compatibiliteit.

Wat is fles?

Flask is een minimalistisch en lichtgewicht microwebframework voor Python. Het biedt de essentiële functies en bibliotheken die nodig zijn om de lichtgewicht webapplicatie te bouwen met behulp van de Python-taal.







Flask volgt de Web Server Gateway Interface of WSGI-standaard, waardoor we een minimalistisch ontwerp kunnen integreren met een flexibel patroon dat het HTTP-verzoek en andere functies kan verwerken. Flask ondersteunt bijvoorbeeld de webfuncties zoals routing, databases en meer.



Vereisten:

Om de code en opdrachten uit deze zelfstudie te volgen, moet u ervoor zorgen dat u over de volgende hulpmiddelen beschikt:



  1. Geïnstalleerde Python-interpreter op uw machine (versie 3.11 en hoger wordt aanbevolen)
  2. Geïnstalleerde Docker-engine op de hostmachine (versie 23 en hoger wordt aanbevolen)
  3. Een teksteditor of IDE naar keuze

Als aan de gegeven vereisten is voldaan, kunnen we doorgaan met deze tutorial.





Maak de Flask-applicatie

Zoals je kunt raden, is de eerste stap het maken van de Python-applicatie die we in containers willen plaatsen. In ons geval demonstreren we dit met een minimalistische app die ‘Hallo wereld’ afdrukt.

Maak een nieuwe map om de broncode voor uw project op te slaan en maak een Python-bestand met de naam “app.py”.



Bewerk de “app.py” met uw favoriete teksteditor of IDE en voeg de code voor uw applicatie als volgt toe:

van fles importeren Kolf

app = Kolf ( __naam__ )
@ app. route ( '/' )
zeker Hallo Wereld ( ) :
opbrengst '

Hallo wereld!

'

Maak een Dockerbestand

Vervolgens moeten we de instructies definiëren waarmee we de applicatie als een Docker-image kunnen verpakken. We gebruiken het Dockerbestand dat alle instructies en hulpmiddelen bevat om de afbeelding in te stellen.

Maak in dezelfde map als “hello.py” een nieuw bestand met de naam “Dockerfile” zonder extensie. Voer de volgende opdracht uit:

$ raak Dockerbestand aan

Bewerk het bestand en voeg de code als volgt toe:

Gebruik de officiële Python-image als basisimage.

VAN Python: 3.12 -rc-slank
WERKDIR /app
KOPIE. /app
# Installeer de kolf
RUN pip-installatie --no-cache- Jij -r vereisten. tekst
# Stel poort 5000 bloot voor de Flask-app
BLOOTGEVEN 5000
# voer de Flask-applicatie uit
CMD [ 'Python' , 'app.py' ]

Het vorige Dockerbestand voert de volgende bewerkingen uit:

  • Gebruikt de officiële Python 3.12 slim-image als basisimage
  • Stelt de werkmap in de container in op “/app”
  • Kopieert de inhoud van de projectmap naar de container
  • Installeert Flask en andere afhankelijkheden door “pip install” uit te voeren met behulp van het bestand “requirements.txt”
  • Geeft poort 5000 vrij voor de Flask-toepassing
  • Definieert de opdracht om de Flask-toepassing uit te voeren

Zorg ervoor dat het bestand “requirements.txt” bestaat in de projectmap en voeg de inhoud van het bestand toe, zoals hieronder weergegeven:

Kolf == 2.3.3

In dit geval geven we aan dat we de Flask-versie 2.3.3 willen installeren.

Bouw de Docker-image

Nu we de Flask-applicatie en Dockerfile gereed hebben, kunnen we doorgaan en de afbeelding bouwen met de volgende opdracht:

docker build -t flask-docker-app .

Zorg ervoor dat u zich in de projectmap bevindt voordat u de vorige opdracht uitvoert. U kunt de flask-docker-app vervangen door de naam die u aan uw afbeelding wilt toewijzen.

Voer de Docker-container uit

Nu de Docker-image is gebouwd, kunnen we de container als volgt uitvoeren op basis van de image met behulp van de opdracht “docker run”:

dockerrun -p 5000 : 5000 fles-docker-app

Hiermee zou een container moeten worden aangemaakt en poort 5000 van de container naar poort 5000 op het hostsysteem moeten worden toegewezen.

Eenmaal uitgevoerd, opent u de browser en navigeert u naar http://localhost:5000 .

Je zou het bericht 'Hallo, wereld!' moeten zien. bericht van de Flask-applicatie.

Conclusie

In deze zelfstudie hebt u geleerd hoe u een eenvoudige Python Flask-toepassing kunt containeriseren met behulp van Docker.