Zum Hauptinhalt springen Skip to page footer

Verwendung von Docker-Registries und privaten Repositories

| Tutorial | Docker

Erfahren Sie, wie Sie Docker-Registries und private Repositories einrichten, Docker-Images exportieren und importieren und wie Sie den Push- und Pull-Prozess für Docker-Images effizient gestalten.

Docker-Registries und private Repositories

Eine Docker-Registry ist ein Speicher- und Verteilungssystem für benannte Docker-Images, die in sogenannten Repositories organisiert sind. Repositories ermöglichen es Benutzern, Docker-Images gemeinsam zu nutzen und zu verteilen. Sie enthalten oft verschiedene Versionen eines bestimmten Images, die durch Tags gekennzeichnet sind.

Docker-Repositories können öffentlich oder privat sein. Öffentliche Docker-Registrare wie Docker Hub ermöglichen es Benutzern, ihre Docker-Images mit der gesamten Entwickler-Community zu teilen. Im Gegensatz dazu sind private Docker-Registrierungen nur für bestimmte Benutzer oder Teams zugänglich. Private Registrierungen bieten mehr Kontrolle darüber, wie Docker-Images gespeichert und verteilt werden. 

Einrichtung eines privaten Docker-Registries

Um eine private Docker-Registry einzurichten, müssen Sie die Docker-Registry-Software auf Ihrem Server installieren und konfigurieren. Die grundlegenden Schritte sind

  • Installieren Sie Docker: Vergewissern Sie sich, dass Docker auf Ihrem Server installiert ist.
  • Starten Sie die Docker-Registry: Starten Sie eine Instanz Ihrer privaten Docker-Registry, indem Sie den folgenden Befehl ausführen: 
docker run -d -p 5000:5000 --restart=always --name registry registry:2

Diese Anweisung führt die Docker-Registry auf Port 5000 aus und stellt sicher, dass sie bei einem Absturz neu gestartet wird.

  • Image in Ihre private Registry pushen: Um ein Image in Ihre private Registry zu verschieben, müssen Sie das Image mit einem Tag versehen. Verwenden Sie dazu den Befehl docker tag. 
docker tag IMAGE_ID localhost:5000/IMAGE_NAME

Nun können Sie Ihr Image in Ihre private Registry pushen:

docker push localhost:5000/IMAGE_NAME

Hochladen und Herunterladen von Images aus privaten Repositories

Durch die Einrichtung eines privaten Docker-Repositorys können Sie Docker-Images hoch- und herunterladen. 

Hochladen von Images

docker tag IMAGE_ID YOUR_PRIVATE_REGISTRY/IMAGE_NAME
2. Laden Sie das Image in Ihre private Registry hoch
docker push YOUR_PRIVATE_REGISTRY/IMAGE_NAME

Herunterladen von Images

docker pull YOUR_PRIVATE_REGISTRY/IMAGE_NAME
2. Um das Image auszuführen, nutzen Sie den docker run-Befehl
docker run -d -p 8080:8080 YOUR_PRIVATE_REGISTRY/IMAGE_NAME

Der Zugriff auf private Docker-Registries wird normalerweise durch Berechtigungen und Zugriffstokens gesteuert. Möglicherweise ist eine Authentifizierung bei einer privaten Docker-Registry erforderlich, bevor das Image heruntergeladen werden kann. 

Docker Images exportieren und importieren

Docker bietet die Möglichkeit, Docker-Images zu exportieren und zu importieren. Dies ist nützlich, wenn Sie Images zwischen verschiedenen Computern verschieben, die möglicherweise nicht direkt miteinander kommunizieren können, oder wenn Sie Docker-Images sichern möchten. 

Exportieren von Images als Datei

Ein Docker-Image kann mit dem Befehl „docker save“ in eine TAR-Datei exportiert werden. Die folgenden Schritte müssen befolgt werden:

  1. Identifizieren Sie das Image, das Sie exportieren möchten. Führen Sie dazu den Befehl docker images aus, der Ihnen eine Liste aller auf Ihrem Computer vorhandenen Docker-Images anzeigt.
  2. Exportieren Sie das Image mit dem Befehl docker save. Geben Sie den Namen (oder die ID) des Images und den Pfad zur Ausgabedatei an. Ein Beispiel finden Sie unten. 
docker save -o /pfad/zur/datei.tar image_name:tag
docker save -o /pfad/zur/datei.tar image_name:tag

Dieser Befehl erstellt eine Tar-Datei mit dem angegebenen Image.

Importieren von Images aus einer Datei

Nachdem Sie das Docker-Image in eine TAR-Datei exportiert haben, können Sie das Image mit dem Befehl docker load auf eine andere Maschine (oder später auf dieselbe Maschine) importieren. Die folgenden Schritte müssen befolgt werden:

  1. Stellen Sie sicher, dass sich die TAR-Datei mit dem Docker-Image in Ihrem lokalen Dateisystem befindet.
  2. Importieren Sie das Image mit dem Befehl docker load. Gibt den Pfad zur TAR-Datei an. Ein Beispiel finden Sie unten. 
docker load -i /pfad/zur/datei.tar

Dieser Befehl importiert ein Image aus einer TAR-Datei und fügt es der Liste der Docker-Images hinzu. Mit dem Befehl docker images können Sie eine Liste der verfügbaren Images anzeigen.

Die Historie und die Metadaten des Images bleiben beim Export und Import von Docker-Images erhalten. Dies unterscheidet diese Methode von den Docker-Befehlen docker export und docker import, die mit Containern und nicht mit Images arbeiten, wodurch die Container-Historie und die Metadaten verloren gehen. 

Docker-Image-Push und Pull

Der Autausch von Docker-Images erfolgt häufig über Docker-Registries. Docker bietet Befehle zum Hochladen von Images in eine Registry (Docker Push) und zum Herunterladen von Images aus einer Registry (Docker Pull). 

Hochladen von Images in einen Registry

Gehen Sie wie folgt vor, um das Docker-Image in Ihre Docker-Registrierung hochzuladen:

  • Erstellen oder taggen Sie ein Image mit der Adresse Ihrer Registry. Sie müssen den Namen (oder die ID) des Images und ein neues Tag angeben. Ein Beispiel für die Verwendung von Docker Hub als Registry:
docker tag image_name:tag username/registry_name:image_name:tag

In diesem Beispiel ist „username“ Ihr Docker Hub Benutzername, „registry_name“ ist der Name Ihrer Docker Registrierung und „image_name:tag“ ist der Name des Images.

Laden Sie das Image mit dem Befehl docker push in Ihre Registry hoch. 

docker push username/registry_name:image_name:tag

Dieser Befehl lädt das Bild in die Docker-Registry hoch.

Beachten Sie, dass Sie sich mit dem Befehl docker login bei der Registrierung anmelden müssen, bevor Sie ein Image in Ihre private Registry hochladen können. 

Herunterladen von Images aus einem Registry

Gehen Sie wie folgt vor, um ein Docker-Image von einer Docker-Registry herunterzuladen:

Laden Sie das Image mit dem Befehl docker pull herunter. Sie müssen den Namen des Images angeben.

docker pull username/registry_name:image_name:tag

Dieser Befehl lädt ein Image aus einer Docker-Registry herunter.

Sobald das Image heruntergeladen ist, können Sie es mit dem Befehl docker run auf Ihrem lokalen Computer ausführen. Bevor Sie ein Image aus Ihrer privaten Registrierung herunterladen können, müssen Sie sich mit dem Befehl docker login bei der Registrierung anmelden.