Heim > Backend-Entwicklung > Python-Tutorial > Docker Hands-on: Lernen Sie Dockerfile, Container und Portweiterleitung mit dem Beispiel-Flask-Projekt

Docker Hands-on: Lernen Sie Dockerfile, Container und Portweiterleitung mit dem Beispiel-Flask-Projekt

Susan Sarandon
Freigeben: 2025-01-14 07:36:44
Original
383 Leute haben es durchsucht

Dieses Tutorial zeigt das Erstellen und Bereitstellen einer einfachen Flask-Anwendung mit Docker. Wir behandeln das Erstellen einer Docker-Datei, das Erstellen des Images, das Ausführen eines Containers und sogar das Übertragen des Images an Docker Hub. Für diejenigen, die mit den Docker-Grundlagen nicht vertraut sind, schauen Sie sich diesen vorherigen Beitrag an:

Beginnen wir mit einem praktischen Beispiel:

Projekt-Setup:

  1. Erstellen Sie ein Verzeichnis mit dem Namen „flask-app“.
  2. Erstellen Sie in „flask-app“ index.py mit dieser einfachen Flask-Anwendung:
<code class="language-python"># index.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
    return "Hello World!"
if __name__ == "__main__":
    app.run(host="0.0.0.0", port=int("5000"), debug=True)</code>
Nach dem Login kopieren
  1. Erstellen Sie auch in „flask-app“ ein Dockerfile (keine Erweiterung) mit folgendem Inhalt:
<code class="language-dockerfile">FROM python:3.13.1-alpine3.21
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
EXPOSE 5000
CMD ["python", "index.py"]</code>
Nach dem Login kopieren
  1. Schließlich erstellen Sie requirements.txt im Verzeichnis „flask-app“:
<code>Flask==2.3.2</code>
Nach dem Login kopieren

Ihre Verzeichnisstruktur sollte nun wie folgt aussehen:

<code>flask-app/
├── Dockerfile
├── index.py
└── requirements.txt</code>
Nach dem Login kopieren

Erstellen und Ausführen des Docker-Images:

  1. Navigieren Sie zum Verzeichnis „flask-app“ in Ihrem Terminal.
  2. Erstellen Sie das Docker-Image mit diesem Befehl:
<code class="language-bash">docker build -t flask-app .</code>
Nach dem Login kopieren
  1. Überprüfen Sie, ob das Image erfolgreich erstellt wurde:
<code class="language-bash">docker images</code>
Nach dem Login kopieren
  1. Führen Sie den Docker-Container aus und ordnen Sie Port 5000 auf Ihrem Host-Computer dem Port 5000 im Container zu:
<code class="language-bash">docker run --name my-flask-app -d -p 5000:5000 flask-app</code>
Nach dem Login kopieren
  1. Überprüfen Sie den laufenden Container:
<code class="language-bash">docker ps -a</code>
Nach dem Login kopieren
  1. Testen Sie die Anwendung, indem Sie in Ihrem Browser auf http://127.0.0.1:5000 zugreifen oder curl:
  2. verwenden
<code class="language-bash">curl http://127.0.0.1:5000</code>
Nach dem Login kopieren
  1. Um den Behälter anzuhalten und zu entfernen:
<code class="language-bash">docker container rm -f my-flask-app</code>
Nach dem Login kopieren
  1. So entfernen Sie das Bild:
<code class="language-bash">docker image rm -f flask-app</code>
Nach dem Login kopieren

Pushing zum Docker Hub:

Bevor Sie zum Docker Hub pushen, erstellen Sie ein Konto, falls Sie noch keines haben. Dann:

  1. Markieren Sie das Bild für Docker Hub (ersetzen Sie omerbsezer durch Ihren Docker Hub-Benutzernamen):
<code class="language-bash">docker tag flask-app omerbsezer/dev-to-flask-app:latest</code>
Nach dem Login kopieren
  1. Bild verschieben:
<code class="language-bash">docker push omerbsezer/dev-to-flask-app:latest</code>
Nach dem Login kopieren

Sie können Ihr Bild dann auf Docker Hub sehen. Ein Screenshot würde hier platziert werden.

Docker Hands-on: Learn Dockerfile, Container, Port Forwarding with Sample Flask Project

Fazit:

Dieses praktische Beispiel zeigt einen vollständigen Workflow zum Containerisieren einer einfachen Python-Anwendung mit Docker. Für weitere Docker-Tutorials, AWS-, Kubernetes-, Linux-, DevOps-, Ansible-, maschinelles Lernen, generative KI und SAAS-Inhalte folgen Sie diesen Links:

Das obige ist der detaillierte Inhalt vonDocker Hands-on: Lernen Sie Dockerfile, Container und Portweiterleitung mit dem Beispiel-Flask-Projekt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage