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