Armazene imagens de contentor Docker no Artifact Registry
O Artifact Registry oferece uma única localização para gerir pacotes privados e imagens de contentor Docker.
Este início rápido mostra como:
- Crie um repositório Docker privado no Artifact Registry
- Configure a autenticação
- Envie uma imagem para o repositório
- Extraia a imagem do repositório
Para seguir orientações passo a passo para esta tarefa diretamente na Google Cloud consola, clique em Orientar-me:
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
-
Make sure that you have the following role or roles on the project: Artifact Registry Administrator
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Aceder ao IAM - Selecione o projeto.
- Clique em Conceder acesso.
-
No campo Novos responsáveis, introduza o identificador do utilizador. Normalmente, este é o endereço de email de uma Conta Google.
- Na lista Selecionar uma função, selecione uma função.
- Para conceder funções adicionais, clique em Adicionar outra função e adicione cada função adicional.
- Clique em Guardar.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
-
Make sure that you have the following role or roles on the project: Artifact Registry Administrator
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Aceder ao IAM - Selecione o projeto.
- Clique em Conceder acesso.
-
No campo Novos responsáveis, introduza o identificador do utilizador. Normalmente, este é o endereço de email de uma Conta Google.
- Na lista Selecionar uma função, selecione uma função.
- Para conceder funções adicionais, clique em Adicionar outra função e adicione cada função adicional.
- Clique em Guardar.
-
- Cloud Shell O
- Cloud Shell é um ambiente de shell para gerir recursos alojados no Google Cloud. É fornecido pré-instalado com o Docker e a CLI do Google Cloud, a principal interface de linhas de comando para o Google Cloud.
- Shell local
- Se preferir usar a shell local, tem de instalar o Docker e a CLI gcloud no seu ambiente.
Aceda à Google Cloud consola.
Clique no botão Ativar Cloud Shell:
.
Instale a CLI gcloud. Para atualizar uma instalação existente, execute o comando
gcloud components update
.Instale o Docker se ainda não estiver instalado.
O Docker requer acesso privilegiado para interagir com registos. No Linux ou Windows, adicione o utilizador que usa para executar comandos do Docker ao grupo de segurança do Docker. Este passo não é necessário no macOS, uma vez que o Docker Desktop é executado numa máquina virtual como utilizador root.
Linux
O grupo de segurança do Docker chama-se
docker
. Para adicionar o seu nome de utilizador, execute o seguinte comando:sudo usermod -a -G docker ${USER}
Windows
O grupo de segurança do Docker chama-se
docker-users
. Para adicionar um utilizador a partir da linha de comandos do administrador, execute o seguinte comando:net localgroup docker-users DOMAIN\USERNAME /add
Onde
- DOMAIN é o seu domínio do Windows.
- USERNAME é o seu nome de utilizador.
Termine sessão e inicie-a novamente para que as alterações de subscrição do grupo entrem em vigor. Se estiver a usar uma máquina virtual, pode ter de a reiniciar para que as alterações à subscrição sejam aplicadas.
Para garantir que o Docker está em execução, execute o seguinte comando do Docker, que devolve a data e a hora atuais:
docker run --rm busybox date
A flag
--rm
elimina a instância do contentor ao sair.Abra a página Repositórios na Google Cloud consola.
Clique em adicionar Criar repositório.
Especifique
quickstart-docker-repo
como o nome do repositório.Escolha Docker como formato e Padrão como modo.
Em Tipo de localização, selecione Região e, de seguida, escolha a localização
us-west1
.Clique em Criar.
Execute o seguinte comando para criar um novo repositório do Docker denominado
quickstart-docker-repo
na localizaçãous-west1
com a descrição "repositório do Docker".gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \ --location=us-west1 --description="Docker repository" \ --project=PROJECT
Onde PROJECT é o ID do seu Google Cloud projeto.
Execute o seguinte comando para verificar se o repositório foi criado.
gcloud artifacts repositories list \ --project=PROJECT
us-docker.pkg.dev
é o nome do anfitrião das imagens de contentores armazenadas nos repositórios Docker do Artifact Registry, que inclui a localização do repositório (us
).google-samples
é o ID do projeto.containers
é o ID do repositório./gke/hello-app
é o caminho para a imagem no repositóriocontainers
.us-west1
é a localização do repositório.us-west1-docker.pkg.dev
é o nome do anfitrião do repositório do Docker que criou.- PROJECT é o seu Google Cloud ID do projeto.
Se o ID do projeto contiver dois pontos (
:
), consulte o artigo Projetos com âmbito de domínio. quickstart-docker-repo
é o ID do repositório que criou.quickstart-image
é o nome da imagem que quer usar no repositório. O nome da imagem pode ser diferente do nome da imagem local. Para este início rápido, vai armazenar a imagem diretamente no ID do repositórioquickstart-docker-repo
.tag1
é uma etiqueta que está a adicionar à imagem do Docker. Se não especificou uma etiqueta, o Docker aplica a etiqueta predefinidalatest
.Abra a página Repositórios na Google Cloud consola.
Na lista de repositórios, selecione o repositório
quickstart-docker-repo
.Clique em Eliminar.
- Saiba mais sobre como trabalhar com imagens de contentores.
- Saiba mais sobre o Docker.
- Leia os nossos recursos sobre DevOps e explore o programa de investigação DevOps Research and Assessment (DORA).
Escolha uma shell
Para concluir este início rápido, use o Cloud Shell ou a shell local.
A iniciar o Cloud Shell
Para iniciar o Cloud Shell, siga estes passos:
É aberta uma sessão do Cloud Shell num frame na parte inferior da consola.
Use esta shell para executar comandos gcloud
.
Configurar uma shell local
Para instalar a CLI gcloud e o Docker, siga estes passos:
Crie um repositório do Docker
Crie um repositório Docker para armazenar a imagem de exemplo para este início rápido.
Consola
O repositório é adicionado à lista de repositórios.
gcloud
Para mais informações sobre os comandos do Artifact Registry, execute o comando gcloud artifacts
.
Configure a autenticação
Antes de poder enviar ou extrair imagens, configure o Docker para usar a CLI Google Cloud para autenticar pedidos para o Artifact Registry.
Para configurar a autenticação nos repositórios do Docker na região us-west1
,
execute o seguinte comando:
gcloud auth configure-docker us-west1-docker.pkg.dev
O comando atualiza a configuração do Docker. Agora, pode estabelecer ligação ao Artifact Registry no seu Google Cloud projeto para enviar e extrair imagens.
Para informações sobre outros métodos de autenticação, consulte o artigo Métodos de autenticação.
Obtenha uma imagem para enviar
Para este início rápido, vai enviar uma imagem de exemplo denominada
hello-app
.
Execute o seguinte comando para extrair a versão 1.0 da imagem.
docker pull us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
Os caminhos de imagens no Artifact Registry incluem várias partes. Para esta imagem de amostra:
Adicione a imagem ao repositório
Antes de enviar a imagem do Docker para o Artifact Registry, tem de a etiquetar com o nome do repositório.
Etiquete a imagem com um nome de registo
Etiquetar a imagem do Docker com um nome do repositório configura o comando docker push
para enviar a imagem para uma localização específica. Para este início rápido, a localização do anfitrião é us-west1-docker.pkg.dev
.
Execute o seguinte comando para etiquetar a imagem como
quickstart-image:tag1
:
docker tag us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 \ us-west1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Onde:
Já pode enviar a imagem para o repositório que criou.
Envie a imagem para o Artifact Registry
Depois de configurar a autenticação e etiquetar a imagem local, pode enviar a imagem para o repositório que criou.
Para enviar a imagem do Docker, execute o seguinte comando:
docker push us-west1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
:
), consulte o artigo Projetos com âmbito de domínio.
Extraia a imagem do Artifact Registry
Para extrair a imagem do Artifact Registry para a sua máquina local, execute o seguinte comando:
docker pull us-west1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
:
), consulte o artigo Projetos com âmbito de domínio.
latest: Pulling from [PROJECT-ID]/quickstart-image:tag1 Digest: sha256:70c42... Status: Image is up to date for us-west1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Limpar
Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.
Antes de remover o repositório, certifique-se de que as imagens que quer manter estão disponíveis noutra localização.
Para eliminar o repositório:
Consola
gcloud
Para eliminar o repositório quickstart-docker-repo
, execute o seguinte comando:
gcloud artifacts repositories delete quickstart-docker-repo --location=us-west1