Envie uma imagem

Envie imagens para o Harbor para uma maior segurança com o controlo de acesso baseado em funções, a análise de vulnerabilidades automatizada e a gestão de imagens simplificada para as suas aplicações em contentores. Para enviar uma imagem local para uma instância do Harbor, etiquete-a com o nome do repositório e, em seguida, envie a imagem.

Antes de começar

Para enviar uma imagem, tem de configurar o seu ambiente com os recursos e as autorizações necessários, incluindo um projeto do Harbor existente. Para mais informações, consulte o artigo Crie projetos do Harbor.

Funções de IAM necessárias

Para enviar imagens para instâncias do registo do Harbor, contacte o administrador de IAM do projeto para pedir a seguinte função:

  • Visualizador de instâncias do Harbor (harbor-instance-viewer): ver, listar e monitorizar instâncias do Harbor no espaço de nomes do projeto. Esta função inclui as autorizações necessárias para ver os detalhes das instâncias do Harbor existentes para que possa aceder aos URLs do registo necessários para enviar imagens.

Funções de RBAC do Harbor necessárias

Ao contrário das funções de IAM do GDC, o envio de imagens requer autorizações específicas no sistema de controlo de acesso baseado em funções (RBAC) interno do Harbor. Peça as autorizações necessárias ao seu administrador. Aplique o princípio do menor privilégio pedindo apenas as funções necessárias para as suas tarefas específicas.

Etiquete a imagem local

Siga estes passos para etiquetar uma imagem local com o nome do repositório:

  1. Tem de estar autenticado na instância do Harbor. Para mais informações, consulte Configure a autenticação do Docker para instâncias do registo do Harbor.
  2. Defina o nome da imagem. O formato de um nome de imagem completo é:

    INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE
    

    Substitua o seguinte:

    • INSTANCE_URL: o URL da instância do Harbor. Por exemplo, harbor-1.org-1.zone1.google.gdc.test. Aceda ao URL da instância do Harbor através da consola do GDC ou da CLI gdcloud.
    • HARBOR_PROJECT_NAME: o nome do projeto do Harbor. Por exemplo, my-project.
    • IMAGE_NAME: o nome da imagem. Por exemplo, nginx.

    Um exemplo do nome completo da imagem pode ter o seguinte aspeto:

    harbor-1.org-1.zone1.google.gdc.test/my-project/nginx
    
  3. Etiquete a imagem local com o nome do repositório:

    docker tag SOURCE-IMAGE
    INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG
    
    

Substitua o seguinte:

  • SOURCE-IMAGE: o nome da imagem local ou o ID da imagem. Por exemplo, nginx.
  • TAG: o nome da etiqueta. Por exemplo, staging. Se não especificar uma etiqueta, o Docker aplica a etiqueta mais recente por predefinição.

Envie a imagem etiquetada para uma instância do registo do Harbor

Depois de etiquetar a imagem, envie-a para a instância do registo do Harbor:

  1. Certifique-se de que está autenticado na instância do Harbor.
  2. Envie a imagem etiquetada com o comando:
docker push
INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG

Quando envia uma imagem, esta é armazenada na instância e no projeto do Harbor especificados.

Depois de enviar a imagem, aceda à IU da instância do Harbor para a ver.

O que se segue?

Depois de enviar a imagem para o registo do Harbor, pode transferi-la para o seu ambiente local para a validar. Também pode configurar regras de retenção de etiquetas para manter automaticamente os seus repositórios e rever os resultados da análise de segurança para detetar vulnerabilidades: