Você pode enviar imagens do Docker para um projeto no Harbor Registry incorporado. Projetos no Harbor Registry incorporado correspondem a namespaces do vSphere em um Supervisor Cluster.

Pré-requisitos

Além disso, obtenha sua conta de usuário para a qual você tem permissões de gravação no namespace que corresponde ao projeto em Harbor Registry onde você deseja enviar imagens.

Por último, você precisa de uma imagem local que possa ser enviada para o registro. O comando a seguir extrai a imagem hello-world do Docker Hub. Você precisará de uma conta para obter 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 no Harbor Registry com 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 login, você deve usar a sintaxe UserPrincipalName (UPN) ( --user nome de usuário@domínio.com ) para fazer login e usar comandos docker push.
  2. Marque a imagem que você deseja enviar para o projeto em Harbor Registry com o mesmo nome do namespace, onde 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/tkgs-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 a 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/tkgs-cluster-ns/hello-world:latest
    
    Resultado esperado.
    The push refers to repository [10.179.145.77/tkgs-cluster-ns/hello-world]
    9c27e219663c: Pushed
    latest: digest: sha256:90659bf80b44ce6be8234e6ff90a1ac34acbeb826903b02cfa0da11c82cbc042 size: 525
    
  4. Verifique se a imagem agora está disponível no Harbor Registry incorporado.
    • Faça login no console do Harbor Registry incorporado
    • Clique no link do projeto em Projetos (Projects) > Nome do projeto ( Project Name).
    • Selecione a guia Repositórios (Repositories).
    • Você deve ver que a imagem que enviou para o registro está presente, no formato namespace/image-name, como tkgs-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 (Push Image Docker Command). Os comandos para marcar e enviar imagens para esse repositório são fornecidos a você.

Exemplo

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

O que Fazer Depois

Implante o vSphere Pods usando imagens do registro Harbor. Consulte o Implantar um aplicativo em um vSphere Pod usando o Harbor Registry incorporado.