Es posible insertar imágenes de Docker en un proyecto existente de un registro como Docker Hub o Harbor.

Requisitos previos

Necesita una imagen local que pueda insertar en el registro. El siguiente comando extrae la imagen hello-world de Docker Hub. Necesitará una cuenta para poder extraer la imagen.
docker run hello-world
Resultado esperado:
Hello from Docker!
This message shows that your installation appears to be working correctly.
Compruebe la imagen mediante el comando docker images.
docker images
REPOSITORY     TAG                 IMAGE ID            CREATED             SIZE
hello-world    latest              bf756fb1ae65        10 months ago       13.3kB

Procedimiento

  1. Inicie sesión en registro de Harbor usando el asistente de credenciales de vSphere Docker.
    docker-credential-vsphere login <container-registry-IP> --user username@domain.com
    Nota: Si bien se puede proporcionar el --user nombre de usuario para el inicio de sesión, debe utilizar la sintaxis UserPrincipalName (UPN) ( --user username@domain.com) si desea iniciar sesión y utilizar los comandos docker push.
  2. Etiquete la imagen que desea insertar en el proyecto en registro de Harbor con el mismo nombre que el espacio de nombres, donde desea utilizarla:
    docker tag <image-name>[:TAG] <container-registry-IP>/<project-name>/<image-name>[:TAG]
    
    Por ejemplo:
    docker tag hello-world:latest 10.179.145.77/tkgs-cluster-ns/hello-world:latest
    
    docker images
    REPOSITORY                                    TAG                 IMAGE ID            CREATED             SIZE
    10.179.145.77/tkg-cluster-ns/hello-world     latest              bf756fb1ae65        10 months ago       13.3kB
    hello-world                                   latest              bf756fb1ae65        10 months ago       13.3kB
    
  3. Para insertar una imagen en un proyecto en Harbor, ejecute el siguiente comando:
    Sintaxis:
    docker push <container-registry-IP>/<namespace-name>/<image_name>
    Por ejemplo:
    docker push 10.179.145.77/tkg-cluster-ns/hello-world:latest
    
    Resultado esperado.
    The push refers to repository [10.179.145.77/tkg-cluster-ns/hello-world]
    9c27e219663c: Pushed
    latest: digest: sha256:90659bf80b44ce6be8234e6ff90a1ac34acbeb826903b02cfa0da11c82cbc042 size: 525
    
  4. Compruebe que la imagen esté ahora disponible en el registro de Harbor integrado.
    • Inicie sesión en el registro de Harbor.
    • Haga clic en el vínculo del proyecto en Proyectos > Nombre de proyecto.
    • Seleccione la pestaña Repositorios.
    • Debería ver que está la imagen que ha insertado en el registro, con el formato namespace/image-name, como tkg-cluster-ns/hello-world.
    • Seleccione esta imagen y verá la etiqueta latest y otros metadatos.
  5. Vuelva a la pestaña Repositorios.
  6. Seleccione el menú desplegable Comando de Docker para insertar imágenes. Se le proporcionarán los comandos para etiquetar e insertar imágenes en este repositorio.

Ejemplo

A continuación, se muestra otro ejemplo de inserción de imagen en un registro de Harbor:
docker tag busybox:latest <container-registry-IP>/<namespace-name>/busybox:latest
docker push <container-registry-IP>/busybox/busybox:latest