So erstellen und veröffentlichen Sie ein Docker -Image an Docker HubSo erstellen und veröffentlichen Sie ein Docker -Image an Docker Hub
Bild von Editor | Chatgpt

# Einführung

Sie kennen den Kampf wahrscheinlich, wenn Sie versucht haben, Ihre App auf einem anderen Pc, einem Teamkollegen eines Teamkollegen, einem Testserver oder der Cloud zu betreiben. Etwas bricht immer. Vielleicht wird ein Paket nicht installiert oder die Python -Model ist ausgeschaltet, oder die Umgebung ist einfach nicht ganz richtig.

Hier erleichtert Docker das Leben. Mit Docker können Sie Ihren gesamten App -Code, Ihre Abhängigkeiten und Ihre Umgebung in einen ordentlichen kleinen Container, der überall gleich ausgeführt wird, in einem ordentlichen kleinen Container bündeln. Sie können diesen Container an Docker Hub veröffentlichen, damit jeder ihn herunterziehen und sofort ausführen kann.

In diesem Leitfaden werde ich durchgehen, wie man:

  • Schreiben Sie eine einfache Python -App
  • Erstellen Sie ein Docker -Bild dafür
  • Testen Sie es lokal
  • Schieben Sie es zu Docker Hub, damit es gemeinsam nutzbar ist

# Voraussetzungen

Stellen Sie sicher, dass Sie die folgende Einrichtung haben, bevor wir Ihre Python -App abdecken:

  1. Python installiert: Stellen Sie sicher, dass Python auf Ihrem Pc installiert ist (vorzugsweise Python 3.7+). Sie können dies überprüfen, indem Sie ausgeführt werden: python --version oder python3 --version
  2. Docker installiert und ausgeführt: Sie müssen Docker installiert und auf Ihrem Pc ausgeführt werden. Wenn Sie es noch nicht installiert haben, laden Sie es aus von Docker Desktop. Bestätigen Sie nach der Set up, dass Docker funktioniert: docker --version
  3. Docker Hub -Konto: Um Ihr Picture on-line zu veröffentlichen, benötigen Sie ein kostenloses Docker -Hub -Konto. Melden Sie sich hier an, wenn Sie noch keine haben: Docker Hub.

# Schritt 1: Erstellen Sie eine einfache Python -App

Bevor wir in Docker einsteigen, brauchen wir etwas, um tatsächlich zu containerieren. Beginnen wir additionally mit einer sehr einfachen Python -Net -App mithilfe Flascheein leichtes Net -Framework.

Diese App wird eine einzige Route haben, auf der Hallo steht. Erstellen Sie dafür einen Ordner namens Docker-Python-App und erstellen Sie zwei Dateien:

// 1. app.py

from flask import Flask
app = Flask(__name__)

@app.route("https://www.kdnuggets.com/")
def hiya():
    return "Howdy World!"

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8000)

In diesem Code:

  • Wir erstellen eine Flask -App.
  • Wir definieren eine Route (/), die eine freundliche Nachricht zurückgibt.
  • Wir führen die App auf dem Host „0.0.0.0“ aus, damit Docker sie außerhalb des Containers enthüllen kann.
  • Der Port ist auf 8000 eingestellt.

// 2. necessities.txt

Docker muss wissen, welche Python -Pakete Ihre App benötigt. Hear wir sie additionally in einem auf necessities.txt Datei:

# Schritt 2: Erstellen Sie eine Dockerfile

Nachdem Sie eine Python -App haben, müssen wir Docker beibringen, wie man sie baut und ausführt. Dafür ist die Dockerfile da. Es ist im Grunde ein Rezept, das Docker sagt:

„Hier finden Sie das Basisbild. Hier erfahren Sie, wie Sie Abhängigkeiten installieren, und hier finden Sie, wie Sie die App ausführen.“

Erstellen Sie in Ihrem Projektordner (Docker-Python-App) eine Datei namens DockerFile (keine Dateierweiterung):

# 1. Begin with a light-weight Python base picture
FROM python:3.11-slim

# 2. Set the working listing within the container
WORKDIR /app

# 3. Copy the dependency file and set up packages
COPY necessities.txt .
RUN pip set up --upgrade pip && pip set up --no-cache-dir -r necessities.txt

# 4. Copy the remainder of your app code
COPY . .

# 5. Inform Docker which port the app will use
EXPOSE 8000

# 6. Outline the command to run your app
CMD ("python", "app.py")

Diese Datei im Grunde genommen:

  • Verwendet ein kleines offizielles Python -Bild
  • Installiert die Abhängigkeiten Ihrer App
  • Kopiert Ihren Code im Container
  • Läuft app.py Wenn der Behälter beginnt

Dies ist alles, was Sie brauchen, um Ihre App zu containieren. Jetzt bauen wir es.

# Schritt 3: Erstellen Sie das Docker -Bild

Rennen Sie in Ihrem Terminal im Projektverzeichnis:

docker construct -t your_dockerhub_username/docker-python-app .

Vergessen Sie nicht zu ersetzen your_dockerhub_username mit Ihrem tatsächlichen Benutzernamen. In diesem Befehl:

  • docker construct fordert Docker an, ein Bild zu erstellen
  • -t Ermöglicht das Bild mit dem Tag (Namen), damit es später leicht zu referenzieren ist
  • . fordert Docker auf, das aktuelle Verzeichnis zu nutzen (wo Ihre Dockerfile lebt)

Nach ungefähr einer Minute packt Docker Ihre App in ein Bild. Sie werden etwas in Ihrem Terminal sehen wie:

AusgabeAusgabe

# Schritt 4: Führen und testen Sie Ihr Bild lokal

Stellen wir sicher, dass es tatsächlich funktioniert, bevor wir es veröffentlichen.

Führen Sie diesen Befehl aus:

docker run -p 8000:8000 your_dockerhub_username/docker-python-app

Dieser Befehl sagt Docker:

  • „Den Behälter ausführen“
  • Kartenanschluss 8000 auf Ihrem lokalen Pc zum Port 8000 im Container (wobei der Flask ausgeführt wird)

Sie werden etwas in Ihrem Terminal sehen wie:

AusgabeAusgabe

Öffne jetzt deinen Browser und gehe zu http://localhost:8000. Sie sollten sehen:

Wenn Sie das sehen, funktioniert Ihr Bild genau wie erwartet.

# Schritt 5: Drücken Sie das Docker -Bild zu Docker Hub

Drücken Sie nun Ihr Bild mit dem Befehl in Ihr Docker Hub -Repository:

docker push your_dockerhub_username/docker-python-app

Wenn sie aufgefordert werden, authentifizieren Sie sich zuerst mit docker login Verwenden Sie Ihre Docker Hub -Anmeldeinformationen.

AusgabeAusgabe

# Schritt 6: Ziehen und rennen Sie von überall aus

Jeder kann jetzt Ihr Docker -Bild mit:

docker pull image_owner_username/docker-python-app

Der bezieht sich auf den Benutzernamen der Docker Hub der Particular person oder Organisation, der das Bild gehört, nicht zu Ihrem (es sei denn, Sie sind der Eigentümer). Zum Beispiel, wenn Ihr Benutzername ist john123 Und Sie möchten dieses Bild ziehen, Sie würden eingeben:

docker pull kanwal5119/docker-python-app

Weil kanwal5119 Besitzt das Bild, Sie können es nur ziehen und ausführen, nicht ändern oder darauf drücken, es sei denn, Sie haben Zugriff.

Führen Sie es mit dem Befehl aus:

docker run -p 8000:8000 image_owner_username/docker-python-app

Für Ihre Ausgabe gehen Sie zu http://localhost:8000 oder http://127.0.0.1:8000/

AusgabeAusgabe

# Abschluss

In diesem Artikel haben Sie gelernt, wie man eine Python -App erstellt, sie mit Docker contorisiert, sie lokal testet und sie zu Docker Hub weitergibt, wodurch sie tragbar, gemeinsam genutzt und überall geleitet wird. Dies macht Ihren Entwicklungs -Workflow -sauberer und skalierbarer. Wenn Sie weiter gehen möchten, versuchen Sie es mit:

  • Hinzufügen von Versionstags wie: v1.0 zu Ihren Bildern.
  • Erstellen a .dockerignore Datei, um Builds zu optimieren.
  • Einrichten automatisierter Builds mit Github + Docker Hub.
  • Ausführen Ihres Bildes auf einer Cloud -Plattform (wie AWS, GCP oder Azure).

Es gibt noch viel mehr mit Docker, aber jetzt haben Sie die Grundlagen eingesperrt. Wenn Sie zu irgendeinem Zeitpunkt stecken bleiben oder Fragen haben, hinterlassen Sie unten einen Kommentar.

Kanwal Mehreen ist ein Ingenieur für maschinelles Lernen und technischer Schriftsteller mit einer tiefgreifenden Leidenschaft für die Datenwissenschaft und die Schnittstelle von KI mit Medizin. Sie hat das eBook „Produktivität mit Chatgpt maximieren“. Als Google -Era -Gelehrte 2022 für APAC setzt sie sich für Vielfalt und akademische Exzellenz ein. Sie wird auch als Teradata -Vielfalt in Tech Scholar, MITACS Globalink Analysis Scholar und Harvard Wecode Scholar anerkannt. Kanwal ist ein leidenschaftlicher Verfechter der Veränderung, nachdem er Femcodes gegründet hat, um Frauen in STEM -Bereichen zu stärken.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert