Konfiguration eines privaten Registrys
Während Docker Hub ein praktisches öffentliches Registry bietet, gibt es Fälle, in denen Sie ein privates Registry einrichten müssen, um die benutzerdefinierten Docker-Images Ihrer Organisation zu hosten. In diesem Abschnitt führen wir Sie durch den Prozess der Konfiguration eines privaten Docker-Registrys.
Bereitstellung eines privaten Registrys
Um ein privates Docker-Registry bereitzustellen, können Sie das offizielle Docker Registry-Image verwenden. Zuerst ziehen Sie das Registry-Image von Docker Hub herunter:
docker pull registry:2
Anschließend starten Sie den Registry-Container mit folgendem Befehl:
docker run -d --name registry -p 5000:5000 registry:2
Dies startet ein privates Docker-Registry auf Ihrem lokalen Rechner, das auf Port 5000 lauscht.
Hochladen von Images in das private Registry
Um Ihre Docker-Images in das private Registry hochzuladen, müssen Sie sie mit der entsprechenden Registry-URL taggen. Angenommen, Ihr privates Registry läuft auf localhost:5000
, können Sie ein Image wie folgt taggen:
docker tag my-image localhost:5000/my-image:latest
Anschließend laden Sie das Image in das private Registry hoch:
docker push localhost:5000/my-image:latest
Herunterladen von Images aus dem privaten Registry
Um ein Image aus Ihrem privaten Registry herunterzuladen, verwenden Sie folgenden Befehl:
docker pull localhost:5000/my-image:latest
Absicherung des privaten Registrys
Standardmäßig ist das private Registry nicht gesichert, was bedeutet, dass jeder darauf zugreifen und mit ihm interagieren kann. Um die Sicherheit Ihres privaten Registrys zu erhöhen, können Sie es so konfigurieren, dass es HTTPS verwendet und Authentifizierung implementiert.
Aktivieren von HTTPS
Um HTTPS für Ihr privates Registry zu aktivieren, benötigen Sie ein gültiges SSL/TLS-Zertifikat. Sie können entweder ein selbstsigniertes Zertifikat verwenden oder eines von einer vertrauenswürdigen Zertifizierungsstelle (CA) beziehen.
Sobald Sie die Zertifikat- und Schlüsseldateien haben, können Sie den Registry-Container mit folgendem Befehl starten:
docker run -d --name registry \
-p 5000:5000 \
-v /path/to/certs:/certs \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
registry:2
Dies startet den Registry-Container mit aktiviertem HTTPS.
Implementierung der Authentifizierung
Um Ihrem privaten Registry Authentifizierung hinzuzufügen, können Sie den integrierten Basic-Authentifizierungsmechanismus des Docker Registrys verwenden. Dies beinhaltet die Erstellung einer Passwortdatei und den Start des Registry-Containers mit den entsprechenden Umgebungsvariablen.
Durch die Konfiguration eines privaten Docker-Registrys behalten Sie mehr Kontrolle über die Container-Images Ihrer Organisation und gewährleisten die Sicherheit und Integrität Ihrer Anwendungen.