Você pode enviar imagens do Docker para um projeto existente em um registro, como o Docker Hub ou o Harbour.

Pré-requisitos

Você precisa de uma imagem local que possa ser enviada por push para o registro. O comando a seguir extrai a imagem hello-world do Docker Hub. Você precisará de uma conta para extrair a imagem.
docker run hello-world
Resultado esperado:
Hello from Docker!
This message shows that your installation appears to be working correctly.
Verifique a imagem usando o comando docker images.
docker images
REPOSITORY     TAG                 IMAGE ID            CREATED             SIZE
hello-world    latest              bf756fb1ae65        10 months ago       13.3kB

Procedimento

  1. Faça login em um Harbor Registry usando o vSphere Docker Credential Helper.
    docker-credential-vsphere login <container-registry-IP> --user [email protected]
    Observação: Embora o fornecimento de --user nome de usuário seja aceitável para o login, você deve usar a sintaxe UserPrincipalName (UPN) ( --user [email protected]) para fazer login e use os comandos docker push.
  2. Marque a imagem que você deseja enviar por push para o projeto em Harbor Registry com o mesmo nome do namespace, no qual você deseja usá-la:
    docker tag <image-name>[:TAG] <container-registry-IP>/<project-name>/<image-name>[:TAG]
    
    Por exemplo:
    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 enviar uma imagem para um projeto no Harbor, execute o seguinte comando:
    Sintaxe:
    docker push <container-registry-IP>/<namespace-name>/<image_name>
    Por exemplo:
    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. Verifique se a imagem agora está disponível no Harbour Registry incorporado.
    • Faça login no Harbor Registry.
    • Clique no link do projeto em Projects > Project Name ( Project Name).
    • Selecione a guia Repositórios (Repositories).
    • Você deverá ver que a imagem enviada por push para o registro está presente, no formato namespace/image-name, como tkg-cluster-ns/hello-world.
    • Selecione esta imagem e você verá a tag latest e outros metadados.
  5. Volte para a guia Repositórios (Repositories).
  6. Selecione o menu suspenso Push Image Docker Command. Os comandos para marcar e enviar imagens por push para este repositório são fornecidos a você.

Exemplo

Aqui está outro exemplo de push de imagem para um Harbor Registry:
docker tag busybox:latest <container-registry-IP>/<namespace-name>/busybox:latest
docker push <container-registry-IP>/busybox/busybox:latest