Docker - Private Registries

Einführung in Docker-Registries

Hallo da drüben, zukünftige Docker-Meister! Heute tauchen wir ein in die faszinierende Welt der Docker-Registries. Machen Sie sich keine Sorgen, wenn Sie neu hier sind; ich werde Sie Schritt für Schritt führen, genau wie ich es in den letzten Jahren mit unzähligen Schülern getan habe. Lassen Sie uns loslegen!

Docker - Registries

Eine Docker-Registry ist wie eine Bibliothek für Ihre Docker-Images. Es ist ein Ort, an dem Sie diese Images speichern, verwalten und verteilen können. Stellen Sie es sich wie ein Bücherregal vor, in dem Sie alle Ihre Lieblingsbücher (oder in diesem Fall Docker-Images) ordentlich organisiert und leicht zugänglich aufbewahren.

Arten von Docker-Registries

Es gibt zwei Hauptarten von Docker-Registries:

  1. Öffentliche Registries (wie Docker Hub)
  2. Private Registries

Heute werden wir uns auf private Registries konzentrieren. Aber warum möchten Sie eine private Registry? Stellen Sie sich vor, Sie schreiben ein geheimes Rezept. Sie würden es nicht auf eine öffentliche Pinwand pinnen, oder? Genau hier kommen private Registries ins Spiel!

Einrichten einer privaten Registry

Lassen Sie uns die Ärmel hochkrempeln und unsere eigene private Registry einrichten. Es ist einfacher, als Sie denken!

Schritt 1: Ziehen Sie das Registry-Image

Zuerst müssen wir das offizielle Registry-Image von Docker Hub ziehen. Öffnen Sie Ihr Terminal und geben Sie folgendes ein:

docker pull registry:2

Dieser Befehl ist so, als бы Sie dem Bibliothekar bitten, Ihnen das "Registry"-Buch aus der "Docker Hub"-Bibliothek zu bringen.

Schritt 2: Führen Sie den Registry-Container aus

Nun starten wir unsere Registry:

docker run -d -p 5000:5000 --name my-registry registry:2

Lassen Sie uns das auseinandernehmen:

  • -d: Führt den Container im detachierten Modus (im Hintergrund) aus
  • -p 5000:5000: Mapt Port 5000 des Containers auf Port 5000 auf Ihrem Host
  • --name my-registry: Geben Sie unserem Container einen freundlichen Namen
  • registry:2: Das Image, das wir verwenden, um diesen Container zu erstellen

Glückwunsch! Sie haben jetzt eine private Registry auf Ihrem Rechner laufen.

Images in Ihre private Registry schieben

Jetzt, wo wir unsere Registry haben, lassen Sie uns einige Images hineinlegen!

Schritt 1: Bild mit einem Tag versehen

Zuerst müssen wir ein Bild mit einem Tag versehen, um es mit unserer Registry zu verknüpfen:

docker tag my-image:latest localhost:5000/my-image:latest

Das ist so, als бы Sie Ihrem Buch einen speziellen Aufkleber geben, um zu zeigen, dass es zu Ihrer privaten Bibliothek gehört.

Schritt 2: Das Bild schieben

Nun schieben wir dieses Bild in unsere Registry:

docker push localhost:5000/my-image:latest

Sie haben gerade Ihr erstes Buch in Ihre private Bibliothek aufgenommen!

Images aus Ihrer privaten Registry ziehen

Um ein Bild aus Ihrer privaten Registry zu verwenden, können Sie es auf diese Weise ziehen:

docker pull localhost:5000/my-image:latest

Es ist so einfach! Sie holen jetzt Bücher aus Ihrer privaten Bibliothek.

Ihre private Registry sichern

Nun, wir möchten nicht, dass jedermann auf unsere private Bibliothek zugreift, oder? Lassen Sie uns einige Sicherheitsmaßnahmen hinzufügen.

Verwenden von Basic Authentication

So richten Sie Basic Authentication ein:

  1. Erstellen Sie eine Passwortdatei:
docker run --entrypoint htpasswd registry:2 -Bbn myuser mypassword > auth/htpasswd
  1. Führen Sie die Registry mit Authentifizierung aus:
docker run -d \
-p 5000:5000 \
--name secure-registry \
-v "$(pwd)"/auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" \
registry:2

Jetzt ist Ihre Registry durch einen Benutzernamen und ein Passwort geschützt!

Nützliche Docker Registry-Befehle

Hier ist eine praktische Tabelle von Befehlen, die Sie nützlich finden könnten:

Befehl Beschreibung
docker pull registry:2 Ziehen Sie das Registry-Image
docker run -d -p 5000:5000 --name my-registry registry:2 Führen Sie einen Registry-Container aus
docker tag image:tag localhost:5000/image:tag Taggen Sie ein Bild für die lokale Registry
docker push localhost:5000/image:tag Schieben Sie ein Bild in die lokale Registry
docker pull localhost:5000/image:tag Ziehen Sie ein Bild aus der lokalen Registry
docker search localhost:5000/ Durchsuchen Sie die lokale Registry

Schlussfolgerung

Und das war's, Leute! Sie haben gerade Ihre eigene private Docker-Registry eingerichtet. Denken Sie daran, Übung macht den Meister. Scheuen Sie sich nicht, herum zu experimentieren und verschiedene Dinge auszuprobieren. Wer weiß? Vielleicht entdecken Sie etwas Neues und Aufregendes!

In meinen Jahren des Unterrichtens habe ich gesehen, wie Schüler von complete Anfängern zu Docker-Zauberern wurden. Mit Geduld und Ausdauer werden Sie auch dorthin gelangen. Halten Sie durch (im übertragenen Sinne) und viel Spaß beim Dockern!

Credits: Image by storyset