Las instancias de Harbor usan certificados de Seguridad en la capa de transporte (TLS) emitidos por la autoridad de certificación (CA) raíz de confianza de tu organización. De esta forma, se encripta la conexión entre el cliente Docker y el registro de Harbor para proteger las imágenes frente a accesos no autorizados.
Antes de empezar
Debes seguir estos pasos antes de gestionar las imágenes de tu contenedor:
- Instala Docker si aún no lo has hecho siguiendo las instrucciones de https://docs.docker.com/engine/install/ubuntu/. Docker está incluido en Cloud Shell.
Docker requiere acceso con privilegios para interactuar con los registros. En Linux o Windows, añade 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 root.
En Linux, añade el usuario:
sudo usermod -a -G docker USER
Windows:
net localgroup docker-users DOMAIN\USER /add
Sustituye
USER
por el nombre de usuario que quieras añadir.
Configurar Docker para que confíe en la AC raíz de Harbor
Debes configurar tu cliente Docker local para que confíe en la CA raíz de tu organización cuando lo uses para comunicarte con la instancia de Harbor.
Para configurar el cliente de Docker de forma que confíe en la AC raíz, solicita el archivo .crt
de la AC raíz al administrador de tu organización y copia la AC raíz de la organización en:
/etc/docker/certs.d/HARBOR_INSTANCE_URL/ca.crt
Sustituye 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.
También puedes usar la CLI de gdcloud para iniciar sesión en cualquier clúster de usuario de la organización y copiar la AC 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
Sustituye 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 completa 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 solucionar este problema y deriva el caso al equipo de ingeniería de GDC si es necesario.