Para trabajar con imágenes de contenedor en un registro mediante Docker, agregue el certificado del registro al cliente de Docker. El certificado se utiliza para autenticar Docker durante el inicio de sesión en el registro.

Configure el cliente de Docker para que interactúe con un registro de contenedores (como el Registro de Harbor o Docker Hub). En este ejemplo, se supone que está utilizando servicio de supervisor de Harbor.

Requisitos previos

Esta tarea supone que se utiliza un host Linux (Ubuntu) en el que se instaló el daemon de Docker. Para instalar Docker Engine (daemon) en un host de Ubuntu, consulte https://docs.docker.com/engine/install/ubuntu/.

Para comprobar que Docker esté instalado y pueda extraer imágenes de Docker Hub, ejecute el siguiente comando:
docker run hello-world
Resultado esperado:
Hello from Docker!
This message shows that your installation appears to be working correctly.
Nota: Estas instrucciones se comprueban mediante Ubuntu 20.04 y Docker 19.03.

Procedimiento

  1. Inicie sesión en Registro de Harbor.
  2. Seleccione Administración > Configuración > Certificado raíz del registro.
  3. Haga clic en Descargar para descargar el certificado de Registro de Harbor denominado ca.crt.
    Nota: De ser necesario, cambie el nombre del certificado a ca.crt.
  4. Copie de forma segura el archivo ca.crt en el cliente de host de Docker.
  5. En el host de Docker, cree una ruta de directorio para el registro privado utilizando la dirección IP de Harbor.
    /etc/docker/certs.d/IP-address-or-FQDN-of-harbor/
    Por ejemplo:
    mkdir /etc/docker/certs.d/10.179.145.77
  6. Mueva ca.crt a este directorio.
    Por ejemplo:
     mv ca.crt /etc/docker/certs.d/10.179.145.77/ca.crt
  7. Reinicie el daemon de Docker.
    sudo systemctl restart docker.service
  8. Inicie sesión en el registro de Harbor integrado mediante su cliente de Docker.
    docker login https://10.179.145.77
    Debería ver el siguiente mensaje:
    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