So taggen Sie ein Docker-Image für die Push-Operation in ein Registry

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Docker ist ein leistungsstarkes Werkzeug zum Erstellen, Verpacken und Bereitstellen von Anwendungen auf konsistente und reproduzierbare Weise. Ein entscheidender Aspekt der Docker-Arbeit ist das korrekte Taggen Ihrer Docker-Images, bevor Sie sie in einem Container-Registry hochladen. Dieses Tutorial führt Sie durch den Prozess des Taggens eines Docker-Images und der Vorbereitung für die Bereitstellung.

Verständnis von Docker-Image-Tags

Docker-Images sind die Bausteine containerisierter Anwendungen. Jedes Docker-Image verfügt über einen eindeutigen Bezeichner, den Image-Tag, der zur Unterscheidung verschiedener Versionen oder Variationen desselben Images dient. Das Verständnis des Konzepts von Docker-Image-Tags ist beim Arbeiten mit Docker entscheidend, da es Ihnen ermöglicht, die Versionen Ihrer Anwendungen zu verwalten und zu steuern.

Was sind Docker-Image-Tags?

Docker-Image-Tags sind alphanumerische Zeichenketten, die verwendet werden, um eine bestimmte Version eines Docker-Images zu identifizieren. Sie werden typischerweise an das Ende des Imagenamens angehängt und durch einen Doppelpunkt (:) getrennt. Beispielsweise hat das Image ubuntu:22.04 den Tag 22.04, der anzeigt, dass es sich um die Version des Ubuntu-Images basierend auf Ubuntu 22.04 handelt.

Docker-Image-Tags können verwendet werden, um:

  • Die gewünschte Version oder Variante eines Images anzugeben
  • Unterschiedliche Builds oder Releases desselben Images zu unterscheiden
  • Den Lebenszyklus Ihrer Docker-Images zu verwalten

Anatomie eines Docker-Image-Tags

Ein Docker-Image-Tag besteht typischerweise aus folgenden Komponenten:

  1. Repository-Name: Der Name des Docker-Repositorys, in dem das Image gespeichert ist, z. B. ubuntu oder nginx.
  2. Tag: Die spezifische Version oder Variante des Images, z. B. 22.04 oder latest.

Beispielsweise hat das Image labex/myapp:v1.0 folgende Komponenten:

  • Repository-Name: labex/myapp
  • Tag: v1.0

Der Tag v1.0 repräsentiert die spezifische Version des myapp-Images, das vom Repository labex bereitgestellt wird.

Standard-Tag: latest

Wenn Sie beim Ziehen oder Ausführen eines Docker-Images keinen Tag angeben, verwendet Docker automatisch den Tag latest. Der Tag latest ist ein spezieller Tag, der oft verwendet wird, um die neueste Version eines Images darzustellen. Es ist jedoch wichtig zu beachten, dass der Tag latest irreführend sein kann, da er nicht unbedingt die aktuellste oder stabilste Version des Images bedeutet. Es wird generell empfohlen, stattdessen spezifische, versionierte Tags zu verwenden, anstatt sich auf den Tag latest zu verlassen.

graph TD A[Docker Image] --> B[Repository Name] B --> C[Tag] C --> D[ubuntu:22.04] C --> E[labex/myapp:v1.0] C --> F[nginx:latest]

Taggen eines Docker-Images

Das Taggen eines Docker-Images ist ein einfacher Prozess, der es Ihnen ermöglicht, Ihre Docker-Images effektiv zu verwalten und zu organisieren. Indem Sie Ihren Images aussagekräftige Tags zuweisen, können Sie verschiedene Versionen oder Variationen Ihrer Anwendungen leicht identifizieren und verfolgen.

Taggen eines Images während des Builds

Die häufigste Methode zum Taggen eines Docker-Images ist während des Build-Prozesses. Sie können die Option -t oder --tag mit dem Befehl docker build verwenden, um den Tag für das Image anzugeben.

docker build -t labex/myapp:v1.0 .

In diesem Beispiel wird das Image als labex/myapp:v1.0 getaggt.

Taggen eines bestehenden Images

Sie können auch ein vorhandenes Docker-Image mithilfe des Befehls docker tag taggen. Dies ist nützlich, wenn Sie einen neuen Tag für ein bereits erstelltes Image erstellen möchten.

docker pull ubuntu:22.04
docker tag ubuntu:22.04 labex/ubuntu:latest

In diesem Beispiel ziehen wir zuerst das Image ubuntu:22.04 herunter und erstellen dann einen neuen Tag labex/ubuntu:latest, der auf dasselbe Image verweist.

Tagging-Konventionen

Beim Taggen Ihrer Docker-Images empfiehlt es sich, einige Best Practices und Konventionen zu befolgen:

  1. Semantische Versionierung verwenden: Verwenden Sie ein Versionschema wie major.minor.patch (z. B. 1.2.3), um die Version Ihrer Anwendung klar anzugeben.
  2. Versionen unterscheiden: Verwenden Sie eindeutige Tags für jede Version Ihres Images, um Verwechslungen zu vermeiden und sicherzustellen, dass Sie die richtige Version verwenden.
  3. Ausdrucksstarke Tags verwenden: Wählen Sie Tags, die beschreibend und aussagekräftig sind, z. B. die Anwendungsversion, die Basis-Image-Version oder das Builddatum.
  4. latest-Tag vermeiden: Vermeiden Sie die Verwendung des Tags latest für Produktionsbereitstellungen, da es mehrdeutig sein kann und die Nachverfolgung der spezifischen Version Ihrer Anwendung erschwert.

Durch die Einhaltung dieser Konventionen können Sie ein klares und organisiertes System zur Verwaltung Ihrer Docker-Images aufrechterhalten, wodurch die Bereitstellung, Aktualisierung und Fehlerbehebung Ihrer containerisierten Anwendungen vereinfacht wird.

Verschieben eines getaggten Docker-Images

Nachdem Sie Ihr Docker-Image getaggt haben, ist der nächste Schritt, es in ein Docker-Registry zu verschieben, beispielsweise in das private Registry von LabEx oder ein öffentliches Registry wie Docker Hub. Das Verschieben Ihres Images in ein Registry macht es für andere Benutzer oder Systeme zugänglich, sodass diese Ihr Anwendung herunterladen und verwenden können.

Vorbereitung zum Verschieben eines Images

Bevor Sie Ihr Docker-Image verschieben können, müssen Sie sicherstellen, dass Sie über die erforderlichen Anmeldeinformationen verfügen, um auf das Ziel-Registry zuzugreifen. Dies beinhaltet in der Regel das Anmelden beim Registry mithilfe des Befehls docker login.

docker login labex.io

In diesem Beispiel melden wir uns beim privaten LabEx-Registry unter labex.io an.

Verschieben des getaggten Images

Sobald Sie sich beim Registry angemeldet haben, können Sie Ihr getaggtes Docker-Image mit dem Befehl docker push verschieben.

docker push labex/myapp:v1.0

Dieser Befehl verschiebt das Image labex/myapp:v1.0 in das private LabEx-Registry.

Überprüfen des verschobenen Images

Nach dem Verschieben des Images können Sie überprüfen, ob es erfolgreich in das Registry hochgeladen wurde, indem Sie die Webschnittstelle des Registrys überprüfen oder den Befehl docker images verwenden.

docker images

Dies zeigt eine Liste aller Docker-Images auf Ihrem System an, einschließlich des gerade verschobenen Images.

Verschieben in ein öffentliches Registry

Wenn Sie ein öffentliches Registry wie Docker Hub verwenden, ist der Prozess ähnlich, aber Sie müssen die korrekte Registry-URL und Ihre Docker Hub-Anmeldeinformationen verwenden.

docker login
docker push username/myapp:v1.0

In diesem Beispiel ist username Ihr Docker Hub-Benutzername und myapp:v1.0 das getaggte Image, das Sie verschieben möchten.

Indem Sie Ihre getaggten Docker-Images in ein Registry verschieben, können Sie diese für andere Benutzer oder Systeme verfügbar machen, sodass diese Ihre Anwendungen einfach herunterladen und verwenden können.

Zusammenfassung

In diesem Tutorial haben Sie die Bedeutung des Taggens von Docker-Images und die Schritte zum Taggen und Verschieben Ihrer Docker-Images in ein Registry kennengelernt. Durch das Verständnis des Tagging-Prozesses können Sie sicherstellen, dass Ihre Images korrekt identifiziert und einfach verwaltet werden, was Ihre containerbasierten Bereitstellungen effizienter und zuverlässiger macht.