Armazenar imagens de contêiner do Docker no Artifact Registry
O Artifact Registry fornece um único local para gerenciar pacotes privados e imagens de contêiner do Docker.
Neste guia de início rápido, você aprende a:
- Crie um repositório particular do Docker no Artifact Registry
- Configurar a autenticação
- Enviar uma imagem para o repositório
- Extrair a imagem do repositório
Para seguir as instruções passo a passo desta tarefa diretamente no console do Google Cloud, clique em Orientação:
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.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
Escolha um shell
Para concluir este guia de início rápido, use o Cloud Shell ou o shell local.
- Cloud Shell
- O Cloud Shell é um ambiente de shell para gerenciar recursos hospedados no Google Cloud. Ele vem pré-instalado com o Docker e o A Google Cloud CLI, a principal interface de linha de comando do Google Cloud.
- Shell local
- Se preferir usar seu shell local, instale o Docker e CLI gcloud no seu ambiente.
Como iniciar o Cloud Shell
Para iniciar o Cloud Shell, execute os seguintes passos:
Acesse o Console do Google Cloud.
Clique no botão Ativar o Cloud Shell: .
Uma sessão do Cloud Shell é aberta dentro de um quadro inferior no console.
Use esse shell para executar comandos gcloud
.
Como configurar um shell local
Para instalar a gcloud CLI e o Docker, siga estas etapas:
Instale a CLI da gcloud. Para atualizar um execute o comando
gcloud components update
.Instale o Docker se ele ainda não estiver instalado.
O Docker requer acesso com privilégios para interagir com registros. No Linux ou no Windows, adicione o usuário utilizado para executar comandos do Docker no grupo de segurança do Docker. Esta etapa não é necessária no macOS porque o Docker Desktop é executado em uma máquina virtual como o usuário raiz.
Linux
O grupo de segurança do Docker é chamado de
docker
. Para adicionar seu nome de usuário, execute o seguinte comando:sudo usermod -a -G docker ${USER}
Windows
O grupo de segurança do Docker é chamado de
docker-users
. Para adicionar um usuário a partir do prompt de comando do administrador, execute o seguinte comando:net localgroup docker-users DOMAIN\USERNAME /add
Em que
- DOMAIN é seu domínio do Windows.
- USERNAME é seu nome de usuário.
Saia e acesse novamente para a mudança de filiação ao grupo fazer efeito. Se estiver usando uma máquina virtual, talvez seja necessário reiniciar a máquina virtual para a mudança fazer efeito;
Para garantir que o Docker esteja ativo, execute o seguinte comando do Docker, que retorna a hora e a data atuais:
docker run --rm busybox date
A sinalização --rm
exclui a instância do contêiner na saída.
Crie um repositório do Docker
Crie um repositório do Docker para armazenar a imagem de amostra deste guia de início rápido.
Console
Abra a página Repositórios no console do Google Cloud.
Clique em Adicionar. Criar repositório.
Especifique
quickstart-docker-repo
como o nome do repositório.Escolha Docker como o formato e Standard como o modo.
Em Tipo de local, selecione Região e escolha o local
us-west1
.Clique em Criar.
O repositório é adicionado à lista de repositórios.
gcloud
Execute o seguinte comando para criar um novo repositório do Docker chamado
quickstart-docker-repo
no localus-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
em que PROJECT é o ID do projeto no Google Cloud.
Execute o seguinte comando para verificar se o repositório foi criado.
gcloud artifacts repositories list \ --project=PROJECT
Para mais informações sobre os comandos do Artifact Registry, execute o
comando gcloud artifacts
.
Configurar a autenticação
Antes de enviar ou extrair imagens, configure o Docker para usar a CLI do Google Cloud e autenticar solicitações no Artifact Registry.
Para configurar a autenticação em 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 é possível se conectar com o Artifact Registry no projeto do Google Cloud para enviar e extrair imagens.
Para mais informações sobre outros métodos de autenticação, consulte a página Métodos de autenticação.
Acessar uma imagem para enviar
Neste guia de início rápido, você enviará uma imagem de amostra chamada hello-app
.
Execute o comando a seguir 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 das imagens no Artifact Registry incluem várias partes. Para esta amostra imagem:
us
é o local do repositório.docker.pkg.dev
é o nome do host das imagens de contêiner armazenadas em Repositórios Docker do Artifact Registry.google-samples
é o ID do repositório.containers/gke/
é o caminho para a imagem emgoogle-samples
.
Adicionar a imagem ao repositório
Antes de enviar a imagem do Docker ao Artifact Registry, marque-a com o nome do repositório.
Marcar a imagem com um nome de registro
Marcar a imagem do Docker com um
nome de repositório irá configurar o comando docker push
para enviar a imagem para um local específico. Para este guia de início rápido, o local
do host é us-west1-docker.pkg.dev
.
Execute o seguinte comando para marcar 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
us-west1
é o local do repositório.docker.pkg.dev
é o nome do host do repositório do Docker que você criou.- PROJECT é o ID do projeto do Google Cloud. Caso o ID do projeto contenha dois pontos (`:`), consulte Projetos com escopo de domínio.
quickstart-docker-repo
é o ID do repositório que você criou.quickstart-image
é o nome da imagem que você quer usar no repositório. O nome da imagem pode ser diferente do nome da imagem local. Neste guia de início rápido, você vai armazenar a imagem diretamente no ID do repositórioquickstart-docker-repo
.tag1
é uma tag que você está adicionando à imagem do Docker. Se você não especificou uma tag, o Docker aplicará a tag padrãolatest
.
Agora você está pronto para enviar a imagem ao repositório que criou.
Envie a imagem para o Artifact Registry
Depois de configurar a autenticação e marcar a imagem local, é possível enviá-la para o repositório que você criou.
Basta executar o comando a seguir:
docker push us-west1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Substitua PROJECT pelo ID do projeto do Google Cloud. Caso o ID do projeto contenha dois pontos (`:`), consulte Projetos com escopo de domínio.
Extrair a imagem do Artifact Registry
Para extrair a imagem do Artifact Registry para a máquina local, execute o comando a seguir:
docker pull us-west1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Substitua PROJECT pelo ID do projeto do Google Cloud. Se o ID do projeto contiver dois pontos (`:`), consulte Projetos com escopo de domínio. A saída será semelhante a esta:
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 cobranças na conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.
Antes de remover o repositório, verifique se as imagens que você quer manter estão disponíveis em outro local.
Para excluir o repositório:
Console
Abra a página Repositórios no console do Google Cloud.
Na lista de repositórios, selecione o repositório
quickstart-docker-repo
.Clique em Excluir.
gcloud
Para excluir o repositório quickstart-docker-repo
, execute o seguinte
comando:
gcloud artifacts repositories delete quickstart-docker-repo --location=us-west1
A seguir
- Saiba mais sobre como trabalhar com imagens de contêiner.
- Saiba mais sobre o Docker.
- Leia nossos recursos sobre o DevOps e conheça o programa de pesquisa DevOps Research and Assessment (DORA).