Docker so konfigurieren, dass die Harbor-Stammzertifizierungsstelle vertrauenswürdig ist

Harbor-Instanzen verwenden TLS-Zertifikate (Transport Layer Security), die von der vertrauenswürdigen Stammzertifizierungsstelle (CA, Certificate Authority) Ihrer Organisation ausgestellt wurden. Dadurch wird die Verbindung zwischen Ihrem Docker-Client und der Harbor-Registry verschlüsselt, um Images vor unbefugtem Zugriff zu schützen.

Hinweise

Sie müssen diese Schritte ausführen, bevor Sie Ihre Containerbilder verwalten können:

  1. Installieren Sie Docker, falls es noch nicht installiert ist. Folgen Sie dazu der Anleitung unter https://docs.docker.com/engine/install/ubuntu/. Docker ist in Cloud Shell enthalten.
  2. Docker benötigt für die Interaktion mit Registries Zugriff. Fügen Sie unter Linux oder Windows den Nutzer hinzu, mit dem Sie Docker-Befehle in der Docker-Sicherheitsgruppe ausführen. Dieser Schritt ist nicht für macOS erforderlich, da Docker Desktop auf einer virtuellen Maschine als Root-Nutzer ausgeführt wird.

    1. Fügen Sie unter Linux den Nutzer hinzu:

        sudo usermod -a -G docker USER
      
    2. Für Windows:

        net localgroup docker-users DOMAIN\USER /add
      

      Ersetzen Sie USER durch den Nutzernamen, den Sie hinzufügen möchten.

Docker so konfigurieren, dass die Harbor-Stammzertifizierungsstelle vertrauenswürdig ist

Sie müssen Ihren lokalen Docker-Client so konfigurieren, dass er der Stamm-CA Ihrer Organisation vertraut, wenn Sie den Docker-Client für die Kommunikation mit der Harbor-Instanz verwenden.

Wenn Sie den Docker-Client so konfigurieren möchten, dass er der Stammzertifizierungsstelle vertraut, fordern Sie die Datei .crt der Stammzertifizierungsstelle von Ihrem Organisationsadministrator an und kopieren Sie die Stammzertifizierungsstelle der Organisation in:

/etc/docker/certs.d/HARBOR_INSTANCE_URL/ca.crt

Ersetzen Sie HARBOR_INSTANCE_URL durch die URL Ihrer Harbor-Instanz. Beispiel: harbor-1.org-1.zone1.google.gdc.test

Mit diesem Befehl kann Ihr Docker-Client eine HTTPS-Verbindung zur Harbor-Instanz herstellen.

Alternativ können Sie sich mit der gdcloud CLI in einem beliebigen Nutzercluster in der Organisation anmelden und die im Cluster gespeicherte Web-CA kopieren:

  export REGISTRY=HARBOR_INSTANCE_URL
  mkdir -p /etc/docker/certs.d/${REGISTRY} && \echo $(kubectl get secret org-web-ca -n istio-system -o
  jsonpath='{.data.ca\.crt}') | openssl base64 -A -d >
  /etc/docker/certs.d/${REGISTRY}/ca.crt

Ersetzen Sie HARBOR_INSTANCE_URL durch die URL Ihrer Harbor-Instanz. Beispiel: harbor-1.org-1.zone1.google.gdc.test

Wenn die Konfiguration nicht erfolgreich ist, wird die folgende Fehlermeldung angezeigt:

Error response from daemon: Get "https://<HARBOR_INSTANCE_URL>": x509: certificate signed by unknown authority

Wiederholen Sie die Schritte zur Behebung des Problems und eskalieren Sie das Problem bei Bedarf an das GDC-Entwicklungsteam.