instalação da imagem Docker da Google Cloud CLI

A imagem Docker do Google Cloud CLI permite extrair uma versão específica da CLI gcloud como uma imagem do Docker do Artifact Registry e executar rapidamente comandos da CLI do Google Cloud em um contêiner isolado e configurado corretamente.

A imagem Docker da Google Cloud CLI é a CLI gcloud instalada em uma imagem do Debian ou da Alpine. A imagem do Docker está hospedada no Artifact Registry com o seguinte nome de repositório: gcr.io/google.com/cloudsdktool/google-cloud-cli. As imagens também estão disponíveis nos repositórios us.gcr.io, eu.gcr.io e asia.gcr.io.

Opções de imagem do Docker

Há cinco imagens Docker da Google Cloud CLI: "latest", "slim", " emulators", "debian_component_based" e "alpine". Especifique sua preferência usando a tag apropriada após o nome do repositório do host:

  • :latest, :VERSION: imagem grande (baseada em Debian) com outros componentes pré-instalados.
  • :slim, :VERSION-slim: imagem menor (baseada em Debian) sem componentes pré-instalados.
  • :emulators, :VERSION-emulators: imagem menor (baseada em Debian) com componentes de emulador pré-instalados.
  • :alpine, :VERSION-alpine: a menor imagem (baseada no Alpine) sem outros componentes instalados. Esta imagem oferece suporte a linux/arm.
  • :debian_component_based, :VERSION-debian_component_based: baseada em Debian, com todos os componentes. Ao contrário de :latest, que usava pacotes deb, essa imagem usa o gerenciador de componentes para instalar componentes. Esta imagem é compatível com linux/arm.

Como instalar uma imagem do Docker especificada

  1. Para usar a imagem da versão mais recente da Google Cloud CLI, gcr.io/google.com/cloudsdktool/google-cloud-cli:latest, extraia-a do Artifact Registry executando o seguinte comando:

    docker pull gcr.io/google.com/cloudsdktool/google-cloud-cli:latest
    
  2. Se você extraiu a versão mais recente, verifique a instalação executando:

    docker run --rm gcr.io/google.com/cloudsdktool/google-cloud-cli:latest gcloud version
    

    Se você extraiu uma versão específica, verifique a instalação executando um comando semelhante ao seguinte exemplo:

    docker run --rm gcr.io/google.com/cloudsdktool/google-cloud-cli:<release_version> gcloud version
    
  3. Para autenticar com a Google Cloud CLI, execute:

    docker run -ti --name gcloud-config gcr.io/google.com/cloudsdktool/google-cloud-cli gcloud auth login
    

    Depois de autenticadas com sucesso, as credenciais são preservadas no volume de gcloud-config container.

  4. Liste instâncias de computador usando essas credenciais para verificar, executando o contêiner com --volumes-from:

    docker run --rm --volumes-from gcloud-config gcr.io/google.com/cloudsdktool/google-cloud-cli gcloud compute instances list --project your_project
    

Como instalar componentes complementares

Por padrão, as imagens mais recentes (gcr.io/google.com/cloudsdktool/google-cloud-cli:latest e gcr.io/google.com/cloudsdktool/google-cloud-cli:VERSION) têm todos os componentes do Google Cloud CLI instalados.

No entanto, as imagens gcr.io/google.com/cloudsdktool/google-cloud-cli:slim, gcr.io/google.com/cloudsdktool/google-cloud-cli:emulators e gcr.io/google.com/cloudsdktool/google-cloud-cli:alpine não vêm com outros componentes pré-instalados.

Para instalar outros componentes para imagens baseadas em Alpine, crie um Dockerfile que use a imagem da Google Cloud CLI como a imagem de base. Por exemplo, para adicionar os componentes kubectl e app-engine-java, crie um Dockerfile semelhante a este:

FROM gcr.io/google.com/cloudsdktool/google-cloud-cli:alpine
RUN apk --update-cache add openjdk7-jre
RUN gcloud components install app-engine-java kubectl

Se openjdk7-jre não funcionar, tente openjdk8-jre.

Depois disso, execute o seguinte comando:

docker build -t my-cloud-sdk-docker:alpine .

Como instalar versões específicas da Google Cloud CLI

Para instalar versões específicas da Google Cloud CLI, especifique sua versão preferida da CLI gcloud ao executar o comando docker build:

docker build -t my-cloud-sdk-docker:alpine --build-arg CLOUD_SDK_VERSION=<release_version> .

Verifique a versão mais recente da Google Cloud CLI e todas as versões anteriores da Google Cloud CLI.