Configura Docker para que confíe en la CA raíz de Harbor

Las instancias de Harbor usan certificados de seguridad de la capa de transporte (TLS) emitidos por la autoridad certificadora (CA) raíz de confianza de tu organización. Esto encripta la conexión entre tu cliente de Docker y el registro de Harbor para proteger las imágenes del acceso no autorizado.

Antes de comenzar

Debes seguir estos pasos antes de administrar tus imágenes de contenedor:

  1. Instala Docker si aún no lo hiciste. Para ello, sigue las instrucciones que se indican en https://docs.docker.com/engine/install/ubuntu/. Docker está incluido en Cloud Shell.
  2. Docker necesita acceso con privilegios para interactuar con los registros. En Linux o Windows, agrega el usuario que usas para ejecutar comandos de Docker al grupo de seguridad de Docker. Este paso no es necesario en macOS, ya que Docker Desktop se ejecuta en una máquina virtual como usuario raíz.

    1. En Linux, agrega el usuario:

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

        net localgroup docker-users DOMAIN\USER /add
      

      Reemplaza USER por el nombre de usuario que deseas agregar.

Configura Docker para que confíe en la CA raíz de Harbor

Debes configurar tu cliente de Docker local para que confíe en la CA raíz de tu organización cuando uses el cliente de Docker para comunicarte con la instancia de Harbor.

Para configurar el cliente de Docker de modo que confíe en la CA raíz, solicita el archivo .crt de la CA raíz al administrador de tu organización y copia la CA raíz de la organización en la siguiente ubicación:

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

Reemplaza HARBOR_INSTANCE_URL por la URL de tu instancia de Harbor. Por ejemplo, harbor-1.org-1.zone1.google.gdc.test.

Este comando permite que tu cliente de Docker establezca una conexión HTTPS con la instancia de Harbor.

Como alternativa, usa la CLI de gcloud para acceder a cualquier clúster de usuario de la organización y copiar la CA web guardada en el clúster:

  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

Reemplaza HARBOR_INSTANCE_URL por la URL de tu instancia de Harbor. Por ejemplo, harbor-1.org-1.zone1.google.gdc.test.

Si la configuración no se realiza correctamente, verás el siguiente mensaje de error:

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

Repite los pasos para resolver este problema y, si es necesario, deriva el caso al equipo de ingeniería del GDC.