Como executar push e pull de imagens

Nesta página, descrevemos como enviar e extrair imagens, duas das tarefas mais comuns realizadas com o Container Registry. Para enviar uma nova imagem ao Container Registry, primeiro você precisa marcá-la com o nome do registro, conforme descrito abaixo.

Para começar a usar o Container Registry, veja o guia de início rápido.

Para instruções sobre como listar, marcar e excluir imagens, consulte Como gerenciar imagens.

Antes de começar

Certifique-se de que você:

  1. instalou a versão mais recente do SDK do Cloud, que inclui a ferramenta de linha de comando gcloud;

  2. ativou o faturamento do projeto.

  3. instalou o Docker;

  4. tenha permissões para enviar e extrair do registro;

  5. configurou o Docker para usar o gcloud como auxiliar de credencial ou está usando outro método de autenticação. Para usar o gcloud como auxiliar de credencial, execute o comando:

    gcloud auth configure-docker
    

Como enviar uma imagem para um registro

Para enviar qualquer imagem local para o Container Registry, primeiro marque-a com o nome do registro e, em seguida, envie a imagem.

Marcar a imagem local com o nome do registro

  1. Determine o nome do registro:

    1. Escolha um nome do host que especifica a região do armazenamento do registro. Essa região não é seu local, mas o local em que as imagens serão armazenadas. Por exemplo, se você estiver na Austrália, talvez convenha usar o host na Ásia.

      As quatro opções são:

      • gcr.io hospeda as imagens nos Estados Unidos, mas o local pode mudar no futuro;
      • us.gcr.io hospeda a imagem nos Estados Unidos, em um intervalo de armazenamento separado das imagens hospedadas por gcr.io;
      • eu.gcr.io hospeda as imagens na União Europeia;
      • asia.gcr.io hospeda as imagens na Ásia.

      No console, o nome do host das imagens será listado em Local.

    2. Escolha um nome de imagem, que pode ser diferente em sua máquina local.

    3. Combine o nome do host, o código do projeto do console do Google Cloud Platform e o nome da imagem:

      [HOSTNAME]/[PROJECT-ID]/[IMAGE]
      

      Consulte Projetos de escopo de domínio para saber como trabalhar com códigos de projeto que incluem um domínio.

  2. Marque a imagem local com o nome do registro usando o comando:

    docker tag [SOURCE_IMAGE] [HOSTNAME]/[PROJECT-ID]/[IMAGE]
    

    em que [SOURCE_IMAGE] é o nome da imagem local.

    Esse comando nomeia a imagem com o nome do registro e aplica a tag latest. Se você quiser aplicar uma tag diferente, use o comando:

    docker tag [SOURCE_IMAGE] [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]
    

Enviar a imagem marcada para o Container Registry

Use o comando a seguir para enviar a imagem marcada ao Container Registry:

docker push [HOSTNAME]/[PROJECT-ID]/[IMAGE]

Esse comando envia a imagem com a tag latest. Para enviar uma imagem que tenha uma tag diferente, use o comando:

docker push [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]

Quando você envia uma imagem para um registro com um novo nome do host, o Container Registry cria um intervalo de armazenamento no local multirregional especificado. Depois de enviar a imagem, você poderá:

  • acessar o console do GCP para ver o registro e a imagem;

  • executar gcloud container images list-tags para ver uma ou mais tags da imagem e o resumo gerado automaticamente:

    gcloud container images list-tags [HOSTNAME]/[PROJECT-ID]/[IMAGE]
    

    O resultado do comando é semelhante ao seguinte:

    DIGEST        TAGS        TIMESTAMP
    44bde...      test        2017-..-..
    

Como extrair imagens de um registro

Para extrair do Container Registry, use o comando:

docker pull [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]

ou

docker pull [HOSTNAME]/[PROJECT-ID]/[IMAGE]@[IMAGE_DIGEST]

em que:

  • [HOSTNAME] está listado em Local no Console como uma destas quatro opções: gcr.io, us.gcr.io, eu.gcr.io ou asia.gcr.io;
  • [PROJECT-ID] é o código do projeto do Console do Google Cloud Platform. Consulte Projetos com escopo de domínio para saber como trabalhar com códigos de projeto que incluem um domínio;
  • [IMAGE] é o nome da imagem no Container Registry;
  • [TAG] é a tag aplicada à imagem. Em um registro, as tags são exclusivas de uma imagem;
  • [IMAGE_DIGEST] é o valor de hash sha256 do conteúdo da imagem. No console, clique na imagem específica para ver os respectivos metadados. O resumo é listado como Resumo da imagem.

Para receber o comando pull de uma imagem específica:

  1. Clique no nome de uma imagem para acessar o registro específico.

  2. No registro, marque a caixa ao lado da versão da imagem que você quer extrair.

  3. Clique em EXIBIR COMANDO PULL na parte superior da página.

  4. Copie o comando pull, que identifica a imagem usando a tag ou o resumo.

Próximas etapas

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…