Ajude a moldar o futuro da entrega de software e manifeste-se respondendo à pesquisa sobre o estado de DevOps 2202.

Guia de início rápido do Docker

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:

  • Criar um repositório do Docker no Artifact Registry
  • Configurar a autenticação
  • Enviar uma imagem para o repositório
  • Extrair a imagem do repositório

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.

  4. Ative a API Artifact Registry.

    Ative a 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 a ferramenta de linha de comando gcloud, a interface de linha de comando principal do Google Cloud.
Shell local
Se preferir usar o shell local, instale o Docker e o SDK do Cloud no ambiente.

Como iniciar o Cloud Shell

Para iniciar o Cloud Shell, execute os seguintes passos:

  1. Acesse o Console do Google Cloud.

    Console do Google Cloud

  2. 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 o SDK do Cloud e o Docker, siga as etapas a seguir:

  1. Instale o SDK do Cloud , que inclui a ferramenta de linha de comando gcloud. Para atualizar uma instalação atual, execute o comando gcloud components update.

  2. Instale o Docker se ele ainda não estiver instalado.

  3. 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.
  4. 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;

  5. Para garantir que o Docker esteja ativo, execute o seguinte comando do Docker, que retorna a hora e a data atuais:

  6. docker run busybox date
    

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

  1. Abra a página Repositórios no Console do Cloud.

    Abrir a página Repositórios

  2. Clique em Criar repositório.

  3. Especifique quickstart-docker-repo como o nome do repositório.

  4. Escolha Docker como o formato.

  5. Em Tipo de local, selecione Região e escolha o local us-central1.

  6. Clique em Criar.

O repositório é adicionado à lista de repositórios.

gcloud

  1. Execute o seguinte comando para criar um novo repositório do Docker chamado quickstart-docker-repo no local us-central1 com a descrição "repositório do docker".

    gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \
    --location=us-central1 --description="Docker repository"
    
  2. Execute o seguinte comando para verificar se o repositório foi criado.

    gcloud artifacts repositories list
    

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 ferramenta de linha de comando gcloud para autenticar solicitações no Artifact Registry.

Para configurar a autenticação em repositórios do Docker na região us-central1, execute o seguinte comando:

gcloud auth configure-docker us-central1-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.

  1. Mude para um diretório em que você quer salvar a imagem.
  2. 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
    

Adicione 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-central1-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-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

Onde

  • PROJECT é o ID do projeto do Google Cloud. Caso o ID do projeto contenha dois pontos (:), consulte Projetos com escopo de domínio.
  • us-central1 é o local do repositório.
  • docker.pkg.dev é o nome do host dos repositórios do Docker.
  • 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.
  • tag1 é uma tag que você está adicionando à imagem do Docker. Se você não especificou uma tag, o Docker aplicará a tag padrão latest.

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-central1-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-central1-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.

O resultado será assim:

latest: Pulling from [PROJECT-ID]/quickstart-image:tag1
Digest: sha256:70c42...
Status: Image is up to date for us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste guia de início rápido, 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

  1. Abra a página Repositórios no Console do Cloud.

    Abrir a página Repositórios

  2. Na lista de repositórios, selecione o repositório quickstart-docker-repo.

  3. 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-central1

A seguir