Python-Flasche in Docker

Python Flasche In Docker



In diesem Tutorial lernen wir, wie man eine Python-Flask-Anwendung mit Docker containerisiert.

Containerisierung ist eine epische Funktion, die es uns Entwicklern ermöglicht, eine Anwendung zusammen mit den erforderlichen Abhängigkeiten in einer einzigen Einheit zu packen. Anschließend können wir den Container verschieben und die Anwendung umgebungsübergreifend bereitstellen, ohne uns Gedanken über die Kompatibilität machen zu müssen.

Was ist eine Flasche?

Flask ist ein minimalistisches und leichtes Micro-Web-Framework für Python. Es bietet die wesentlichen Funktionen und Bibliotheken, die zum Erstellen der schlanken Webanwendung mithilfe der Python-Sprache erforderlich sind.







Flask folgt dem Web Server Gateway Interface oder WSGI-Standard, der es uns ermöglicht, ein minimalistisches Design mit einem flexiblen Muster zu integrieren, das die HTTP-Anfrage und andere Funktionen verarbeiten kann. Flask unterstützt beispielsweise Webfunktionen wie Routing, Datenbanken und mehr.



Voraussetzungen:

Um den in diesem Tutorial bereitgestellten Code und Befehlen folgen zu können, stellen Sie sicher, dass Sie über die folgenden Tools verfügen:



  1. Installierter Python-Interpreter auf Ihrem Computer (Version 3.11 und höher wird empfohlen)
  2. Installierte Docker-Engine auf dem Host-Computer (Version 23 und höher wird empfohlen)
  3. Ein Texteditor oder eine IDE Ihrer Wahl

Wenn die angegebenen Anforderungen erfüllt sind, können wir mit diesem Tutorial fortfahren.





Erstellen Sie die Flask-Anwendung

Wie Sie sich vorstellen können, besteht der erste Schritt darin, die Python-Anwendung zu erstellen, die wir containerisieren möchten. In unserem Fall demonstrieren wir es mit einer minimalistischen App, die „Hallo Welt“ druckt.

Erstellen Sie ein neues Verzeichnis zum Speichern des Quellcodes für Ihr Projekt und erstellen Sie eine Python-Datei mit dem Namen „app.py“.



Bearbeiten Sie „app.py“ mit Ihrem bevorzugten Texteditor oder Ihrer bevorzugten IDE und fügen Sie den Code für Ihre Anwendung wie folgt hinzu:

aus Flasche importieren Flasche

App = Flasche ( __Name__ )
@ App. Route ( „/“ )
def Hallo Welt ( ) :
zurückkehren

Hallo Welt!

Erstellen Sie eine Docker-Datei

Als nächstes müssen wir die Anweisungen definieren, die es uns ermöglichen, die Anwendung als Docker-Image zu packen. Wir verwenden die Docker-Datei, die alle Anweisungen und Tools zum Einrichten des Images enthält.

Erstellen Sie im selben Verzeichnis wie „hello.py“ eine neue Datei mit dem Namen „Dockerfile“ ohne Erweiterung. Führen Sie den folgenden Befehl aus:

$ touch Dockerfile

Bearbeiten Sie die Datei und fügen Sie den Code wie folgt hinzu:

Verwenden Sie das offizielle Python-Image als Basis-Image.

VON Python: 3.12 -rc-slim
WORKDIR /app
KOPIEREN . /app
# Flask installieren
RUN pip install --no-cache- Du -r Anforderungen. txt
# Geben Sie Port 5000 für die Flask-App frei
EXPONIEREN 5000
# Führen Sie die Flask-Anwendung aus
CMD [ 'Python' , „app.py“ ]

Die vorherige Docker-Datei führt die folgenden Vorgänge aus:

  • Verwendet das offizielle Python 3.12 Slim-Image als Basis-Image
  • Setzt das Arbeitsverzeichnis im Container auf „/app“
  • Kopiert den Inhalt des Projektverzeichnisses in den Container
  • Installiert Flask und alle anderen Abhängigkeiten durch Ausführen von „pip install“ mithilfe der Datei „requirements.txt“.
  • Macht Port 5000 für die Flask-Anwendung verfügbar
  • Definiert den Befehl zum Ausführen der Flask-Anwendung

Stellen Sie sicher, dass die Datei „requirements.txt“ im Projektverzeichnis vorhanden ist, und fügen Sie den Inhalt der Datei wie im Folgenden gezeigt hinzu:

Flasche == 2.3.3

In diesem Fall geben wir an, dass wir die Flask-Version 2.3.3 installieren möchten.

Erstellen Sie das Docker-Image

Nachdem wir nun die Flask-Anwendung und die Docker-Datei bereit haben, können wir fortfahren und das Image mit dem folgenden Befehl erstellen:

docker build -t flask-docker-app .

Stellen Sie sicher, dass Sie sich im Projektverzeichnis befinden, bevor Sie den vorherigen Befehl ausführen. Sie können die flask-docker-app durch den Namen ersetzen, den Sie Ihrem Image zuweisen möchten.

Führen Sie den Docker-Container aus

Nachdem das Docker-Image erstellt wurde, können wir den Container basierend auf dem Image mit dem Befehl „docker run“ wie folgt ausführen:

Docker run -p 5000 : 5000 Flask-Docker-App

Dadurch sollte ein Container erstellt und der Port 5000 vom Container dem Port 5000 auf dem Hostsystem zugeordnet werden.

Öffnen Sie nach der Ausführung den Browser und navigieren Sie zu http://localhost:5000 .

Sie sollten die Meldung „Hello, World!“ sehen. Nachricht von der Flask-Anwendung.

Abschluss

In diesem Tutorial haben Sie gelernt, wie Sie eine einfache Python-Flask-Anwendung mit Docker containerisieren.