Configura Docker in modo che consideri attendibile la CA radice di Harbor

Le istanze Harbor utilizzano certificati Transport Layer Security (TLS) emessi dalla CA radice attendibile della tua organizzazione. In questo modo viene criptata la connessione tra il client Docker e il registro Harbor per proteggere le immagini da accessi non autorizzati.

Prima di iniziare

Devi eseguire questi passaggi prima di gestire le immagini dei container:

  1. Installa Docker se non è già installato seguendo le istruzioni disponibili all'indirizzo https://docs.docker.com/engine/install/ubuntu/. Docker è incluso in Cloud Shell.
  2. Docker richiede l'accesso con privilegi per interagire con i registri. Su Linux o Windows, aggiungi l'utente che utilizzi per eseguire i comandi Docker al gruppo di sicurezza Docker. Questo passaggio non è necessario su macOS, poiché Docker Desktop viene eseguito su una macchina virtuale come utente root.

    1. Per Linux, aggiungi l'utente:

        sudo usermod -a -G docker USER
      
    2. Per Windows:

        net localgroup docker-users DOMAIN\USER /add
      

      Sostituisci USER con il nome utente che vuoi aggiungere.

Configura Docker in modo che consideri attendibile la CA radice di Harbor

Devi configurare il client Docker locale in modo che consideri attendibile la CA radice della tua organizzazione quando utilizzi il client Docker per comunicare con l'istanza Harbor.

Per configurare il client Docker in modo che consideri attendibile la CA radice, richiedi il file .crt della CA radice all'amministratore dell'organizzazione e copia la CA radice dell'organizzazione in:

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

Sostituisci HARBOR_INSTANCE_URL con l'URL della tua istanza Harbor. Ad esempio, harbor-1.org-1.zone1.google.gdc.test.

Questo comando consente al client Docker di stabilire una connessione HTTPS con l'istanza Harbor.

In alternativa, utilizza gcloud CLI per accedere a qualsiasi cluster utente nell'organizzazione e copia la CA web salvata nel cluster:

  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

Sostituisci HARBOR_INSTANCE_URL con l'URL della tua istanza Harbor. Ad esempio, harbor-1.org-1.zone1.google.gdc.test.

Se la configurazione non va a buon fine, viene visualizzato il seguente messaggio di errore:

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

Ripeti i passaggi per risolvere il problema e, se necessario, riassegna la richiesta al team di ingegneria di GDC.