Tech News

Technik & Digital

So hosten Sie mit Docker ein Python Flask-Projekt auf Ihrem NAS


Wenn Sie ein NAS haben, haben Sie wahrscheinlich schon eine Reihe verschiedener Projekte ausprobiert. Mit einem kann man viel machen, vor allem, wenn man es selbst baut und die gesamte Maschine und das Betriebssystem steuert. Auch wenn Sie dies nicht tun, unterstützen die meisten zumindest Docker. Docker ist ein Containersystem, das es Ihnen ermöglicht, verschiedene Anwendungen getrennt voneinander in einer kontrollierten Umgebung auszuführen, und es ist eine großartige und einfache Möglichkeit, Anwendungen bereitzustellen.


Ein Projekt, das Sie vielleicht ausprobieren möchten, ist das Hosten Ihrer eigenen Website auf Ihrem NAS, und wir zeigen Ihnen, wie Sie genau das tun! Sie können einen einfachen Webserver in Flask schreiben, ihn mit Docker in einen Container umwandeln und diesen Container dann auf Ihr NAS übertragen.

Wir haben den Quellcode für diese Anwendung auf GitHub veröffentlicht und Sie können ihn am Ende dieses Artikels nachlesen! Für dieses Tutorial muss Docker installiert sein.

Verwandt

Linux-Container-Leitfaden: Eine Einführung in Container

Container sind seit Jahren ein Schlagwort … aber was genau ist das?

So hosten Sie mit Docker eine Python Flask-App auf Ihrem NAS

Schritt 1: Schreiben Sie den Code

Python Flask-App-Code und index.html-Code


Das Schreiben des Codes für Ihre Python-Flask-Anwendung ist ziemlich einfach. Sie müssen lediglich ein Programm erstellen, das einen Port abhört, sich als Flask-App identifiziert und dann eine HTML-Vorlage bereitstellt. Diese HTML-Datei muss in einem /templates-Ordner in Ihrem Projektordner abgelegt werden.

Sie müssen sicherstellen, dass diese Dateien für Ihren Python-Code app.py und für Ihren HTML-Code index.html heißen. Platzieren Sie sie in den entsprechenden Ordnern und stellen Sie sicher, dass Ihr Code mit dem im obigen Screenshot übereinstimmt (oder diesem ähnelt). Sie müssen Ihrer Einrückung in Python besondere Aufmerksamkeit schenken. Stellen Sie außerdem sicher, dass das Flask-Modul installiert ist, indem Sie den folgenden Befehl ausführen:

pip3 install flask

Nach der Installation sollte es auf Ihrem Computer bereits funktionsfähig sein!

Schritt 2: Erstellen Sie Ihren Docker-Container

Dockerfile-Parameter, die die zu verwendende Python-Version und andere Variablen definieren


Es gibt zwei Möglichkeiten, Ihren Docker-Container zu erstellen. Wir empfehlen die Verwendung des Docker-Build-Befehls. Erstellen Sie eine Docker-Datei und füllen Sie sie. Sie können dann alle Parameter im obigen Screenshot verwenden. Sie können „World“ in einen beliebigen Namen ändern. Wenn diese Variable nicht definiert ist, benennt Docker die Umgebung für Sie.

Schritt 3: Erstellen Sie Ihre Anforderungsdatei

Anforderungsdatei für Python Flask

Ihre Anforderungsdatei enthält die erforderlichen Python-Module, die Ihr Container zum Ausführen der Anwendung benötigt. Für dieses Basisprogramm benötigen Sie lediglich Flask und in meinem Fall musste ich eine ältere Version von Werkzeug verwenden. Erstellen Sie eine Datei „requirements.txt“ im selben Ordner wie Ihre app.py- und Docker-Datei und stellen Sie sicher, dass sie mit dem Screenshot oben übereinstimmt.


Ich verwende für dieses Tutorial eine ältere Version von Flask, aber Flask 3.0 ist derzeit erhältlich. Sie können die Abhängigkeit hier aktualisieren, wenn Sie wissen, was Sie tun.

Schritt 4: Erstellen Sie Ihren Docker-Container und speichern Sie ihn

Docker-Build ausführen

Jetzt kann es losgehen! Führen Sie den folgenden Befehl in einem Terminal im selben Fenster aus, um Ihren Docker-Container zu erstellen.

docker build -t my-flask-app .

Dadurch wird Ihre Docker-Anwendung erstellt. Jetzt können Sie es auf Ihrem Computer ausführen, um sicherzustellen, dass es funktioniert mit:

docker run -p 5000:5000 my-flask app

Alles läuft gut, Sie können in Ihrem Browser zu 127.0.0.1:5000 navigieren und es sollte funktionieren! Wenn dies nicht der Fall ist, gehen Sie dieses Tutorial noch einmal durch und prüfen Sie, ob Sie Schritte verpasst haben.

Docker-Container in einer Datei speichern


Jetzt können Sie Ihren Docker-Container mit dem folgenden Befehl speichern, um ihn in eine Datei auszugeben, die Sie auf Ihr NAS übertragen können.

docker save -o my-flask-app.tar my-flask-app

Das war's, Sie haben jetzt Ihre erste Docker-Anwendung erstellt!

Schritt 5: Übertragen Sie Ihr Docker-Image auf Ihr NAS

truenas-launch-docker-image

Quelle: TrueNAS

Abschließend müssen Sie dieses Docker-Image auf Ihr NAS übertragen. Abhängig vom verwendeten NAS sollte dies einfach sein, erfordert jedoch unterschiedliche Schritte. Im obigen Screenshot sehen Sie die Option „Docker-Image starten“ auf TrueNAS. Sie müssen nur Ihre Docker-Datei kopieren und ihr die richtigen Parameter übergeben, um sie zu starten.

Für Synology und sogar Ugreen empfehlen wir jedoch, die Anweisungen zur Verwendung von Docker mit diesen Maschinen zu lesen. Sie können Ihren Container zum Laufen bringen, aber wie genau, hängt von den Schritten ab, die das Unternehmen dafür vorschlägt.


Docker ist eine sichere und einfache Möglichkeit, Programme auf Ihrem NAS auszuführen

Spielen Sie auch mit Docker-Compose

Ugreen-NAS-2

Wir haben für dieses Projekt eine Docker-Compose-Datei in GitHub eingefügt, und Sie können damit experimentieren, sie zum Laufen zu bringen! Dies ist eine weitere Möglichkeit, die zur Ausführung des Containers erforderlichen Parameter beim Erstellen an Docker zu übergeben. Es lohnt sich, sich damit auseinanderzusetzen, da eine Docker-Compose-Datei für mehrere verschiedene Projekte verwendet werden kann, was nützlich sein kann, wenn Sie anfangen, mit mehr Flask-Anwendungen herumzuspielen.

Verwandt

8 unglaubliche Projekte, die ich nur mit meinem NAS abgeschlossen habe

Ein NAS ist ein Tor in die Computerwelt und kann Ihnen viel beibringen.



Source link