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:
- Installierter Python-Interpreter auf Ihrem Computer (Version 3.11 und höher wird empfohlen)
- Installierte Docker-Engine auf dem Host-Computer (Version 23 und höher wird empfohlen)
- 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 FlascheApp = 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 DockerfileBearbeiten 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-slimWORKDIR /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.3In 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-AppDadurch 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.