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!
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:
- Öffentliche Registries (wie Docker Hub)
- 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:
- Erstellen Sie eine Passwortdatei:
docker run --entrypoint htpasswd registry:2 -Bbn myuser mypassword > auth/htpasswd
- 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