Um mit Container-Images in einer Registrierung mithilfe von Docker zu arbeiten, müssen Sie Ihrem Docker-Client das Registrierungszertifikat hinzufügen. Das Zertifikat wird zur Authentifizierung von Docker bei der Anmeldung in der Registrierung verwendet.
Konfigurieren Sie Ihren Docker-Client für die Interaktion mit einer Containerregistrierung, z. B. Harbor-Registrierung oder Docker Hub. In diesem Beispiel wird davon ausgegangen, dass Sie den Harbor-Supervisor-Dienst verwenden.
Voraussetzungen
Bei dieser Aufgabe wird davon ausgegangen, dass Sie einen Linux-Host (Ubuntu) verwenden, auf dem der Docker-Daemon installiert ist. Informationen zum Installieren der Docker-Engine (Daemon) auf einem Ubuntu-Host finden Sie unter https://docs.docker.com/engine/install/ubuntu/.
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Docker installiert ist und Sie Images aus dem Docker-Hub ziehen können:
docker run hello-world
Erwartetes Ergebnis:
Hello from Docker!
This message shows that your installation appears to be working correctly.
Hinweis: Diese Anweisungen werden mithilfe von Ubuntu 20.04 und Docker 19.03 verifiziert.
Prozedur
- Melden Sie sich bei der Harbor-Registrierung an.
- Wählen Sie aus.
- Klicken Sie auf Herunterladen, um das Harbor-Registrierungszertifikat mit dem Namen
ca.crt
herunterzuladen.
Hinweis: Sofern nötig, ändern Sie den Namen des Zertifikats zu
ca.crt
.
- Kopieren Sie die Datei
ca.crt
sicher auf Ihren Docker-Hostclient.
- Erstellen Sie auf dem Docker-Host einen Verzeichnispfad für die Privatregistrierung mithilfe der Harbor-IP-Adresse.
/etc/docker/certs.d/IP-address-or-FQDN-of-harbor/
Beispiel:
mkdir /etc/docker/certs.d/10.179.145.77
- Verschieben Sie die Datei
ca.crt
in dieses Verzeichnis.
Beispiel:
mv ca.crt /etc/docker/certs.d/10.179.145.77/ca.crt
- Starten Sie den Docker-Daemon neu.
sudo systemctl restart docker.service
- Melden Sie sich beim eingebetteten Harbor-Registrierung mit Ihrem Docker-Client an.
docker login https://10.179.145.77
Sie sollten folgende Meldung sehen:
WARNING! Your password will be stored unencrypted in /home/ubuntu/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded