Enviar (fazer upload) e extrair (fazer o download) as imagens são duas das tarefas mais comuns do Container Registry.
Para instruções sobre como listar, marcar e excluir imagens, consulte Como gerenciar imagens.
Antes de começar
Certifique-se de que você:
ativou o Container Registry no projeto;
verificou se você tem permissões para enviar e extrair imagens.
Como enviar uma imagem para um registro
Para enviar qualquer imagem local para o Container Registry, primeiro inclua uma tag com o nome do registro e, em seguida, envie a imagem.
A primeira imagem que você envia para um host multirregional cria o bucket de armazenamento para o nome do host no projeto do Google Cloud.
Marcar a imagem local com o nome do registro
Determine o nome do registro:
Escolha um nome de host, que especifica o local onde você armazenará a imagem.
gcr.io
hospeda imagens em data centers nos Estados Unidos, mas o local pode mudar no futurous.gcr.io
hospeda imagens em data centers nos Estados Unidos, em um bucket de armazenamento separado das imagens hospedadas porgcr.io
eu.gcr.io
hospeda as imagens na União Europeiaasia.gcr.io
hospeda imagens em data centers na Ásia
Esses locais correspondem às multirregiões para os buckets de armazenamento do Cloud Storage. Quando você envia uma imagem para um registro com um novo nome do host, o Container Registry cria um bucket de armazenamento no local multirregional especificado. Esse bucket é o armazenamento subjacente para o registro. Em um projeto, todos os registros com o mesmo nome de host compartilham um bucket de armazenamento.
No console, o nome do host das imagens será listado em Local.
Escolha um nome de imagem, que pode ser diferente em sua máquina local.
Combine o nome do host, o código do projeto do Google Cloud Console e o nome da imagem:
HOSTNAME/PROJECT-ID/IMAGE
Caso o ID do projeto contenha dois pontos (
:
), consulte Projetos com escopo de domínio.
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 ou do ID da imagem.
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
O auxiliar de credencial do Docker é a maneira mais simples de
configurar o Docker para autenticar diretamente com o Container Registry. Em seguida,
use o comando docker
para marcar, enviar e extrair imagens. Como alternativa, você pode
usar as bibliotecas de cliente
para gerenciar imagens de contêiner ou interagir diretamente com a API do Docker.
Use o comando a seguir para enviar a imagem marcada ao Container Registry:
docker push HOSTNAME/PROJECT-ID/IMAGE
Este comando envia a imagem que tem a tag latest
. Se você quiser
enviar uma imagem com 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 bucket de armazenamento no local multirregional especificado. Depois de enviar a imagem, você pode:
Acesse o Console do Cloud para ver o registro e a imagem.
Executar
gcloud container images list-tags
para visualizar a (s) tag (s) 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
onde:
- HOSTNAME está listado em Local no console É uma das
quatro opções:
gcr.io
,us.gcr.io
,eu.gcr.io
ouasia.gcr.io
. - HOSTNAME é o ID do projeto do seu
Console do Google Cloud.
Caso o ID do projeto contenha dois pontos (
:
), consulte Projetos com escopo de 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 do Cloud, clique na imagem específica para ver os metadados. O resumo é listado como Resumo da imagem.
Para receber o comando pull de uma imagem específica:
Clique no nome de uma imagem para acessar o registro específico.
No registro, marque a caixa ao lado da versão da imagem que você quer extrair.
Clique em EXIBIR COMANDO PULL na parte superior da página.
Copie o comando pull, que identifica a imagem usando a tag ou o resumo.
Próximas etapas
- Saiba mais sobre como gerenciar imagens, incluindo a adição ou remoção de tags e a exclusão de imagens.
- Saiba mais sobre como configurar o controle de acesso.
- Leia mais sobre os componentes e recursos do Container Registry.
- Saiba mais sobre como executar contêineres no Compute Engine.