Instala la imagen de Docker de Google Cloud CLI

La imagen de Docker de Google Cloud CLI te permite extraer una versión específica de gcloud CLI como una imagen de Docker desde Artifact Registry y ejecutar con rapidez comandos de Google Cloud CLI en un contenedor aislado y configurado correctamente.

La imagen de Docker de Google Cloud CLI es la gcloud CLI instalada sobre una imagen de Debian o Alpine. La imagen de Docker se aloja en Artifact Registry con el siguiente nombre de repositorio: gcr.io/google.com/cloudsdktool/google-cloud-cli. Las imágenes también están disponibles con los repositorios us.gcr.io, eu.gcr.io y asia.gcr.io.

Opciones de imagen de Docker

Hay cinco imágenes de Docker de Google Cloud CLI: más reciente, Slim, Emulators, debian_component_based y alpine. Puedes especificar tus preferencias con la etiqueta adecuada después del nombre del repositorio del host:

  • :latest, :VERSION: Imagen grande (basada en Debian) con componentes adicionales preinstalados
  • :slim, :VERSION-slim: Imagen más pequeña (basada en Debian) sin componentes preinstalados
  • :emulators, :VERSION-emulators: Imagen más pequeña (basada en Debian) con componentes del emulador preinstalados
  • :alpine, :VERSION-alpine: Es la imagen más pequeña (basada en Alpine) sin componentes adicionales instalados. Esta imagen es compatible con linux/arm.
  • :debian_component_based, :VERSION-debian_component_based: Basado en Debian con todos los componentes. A diferencia de :latest, que usaba paquetes deb, esta imagen usa el administrador de componentes para instalar componentes. Esta imagen es compatible con linux/arm.

Instala una imagen de Docker especificada

  1. Para usar la imagen de la versión más reciente de Google Cloud CLI, gcr.io/google.com/cloudsdktool/google-cloud-cli:latest, extráela de Artifact Registry mediante la ejecución del siguiente comando:

    docker pull gcr.io/google.com/cloudsdktool/google-cloud-cli:latest
    
  2. Si extrajiste la versión más reciente, ejecuta el siguiente comando para verificar la instalación:

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

    Si extrajiste una versión específica, ejecuta un comando similar al siguiente para verificar la instalación:

    docker run --rm gcr.io/google.com/cloudsdktool/google-cloud-cli:<release_version> gcloud version
    
  3. Autentica con Google Cloud CLI a través de la ejecución del siguiente comando:

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

    Después de haber autenticado correctamente, las credenciales se conservan en el volumen de gcloud-config container.

  4. Enumera las instancias de procesamiento que usan estas credenciales para verificar mediante la ejecución del contenedor con --volumes-from:

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

Instala componentes adicionales

De forma predeterminada, las imágenes más recientes (gcr.io/google.com/cloudsdktool/google-cloud-cli:latest y gcr.io/google.com/cloudsdktool/google-cloud-cli:VERSION) tienen todos los componentes de Google Cloud CLI instalados.

Sin embargo, las imágenes gcr.io/google.com/cloudsdktool/google-cloud-cli:slim, gcr.io/google.com/cloudsdktool/google-cloud-cli:emulators y gcr.io/google.com/cloudsdktool/google-cloud-cli:alpine no incluyen componentes adicionales preinstalados.

Si deseas instalar componentes adicionales para imágenes basadas en Alpine, crea un Dockerfile que use la imagen de Google Cloud CLI como imagen base. Por ejemplo, para agregar componentes kubectl y app-engine-java, crea un Dockerfile que se vea de la siguiente manera:

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

Si openjdk7-jre no funciona, prueba con openjdk8-jre.

Cuando termines, ejecuta el siguiente comando:

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

Instala versiones específicas de Google Cloud CLI

Para instalar versiones específicas de Google Cloud CLI, especifica tu versión preferida de gcloud CLI cuando ejecutes el comando docker build:

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

Consulta la versión más reciente de Google Cloud CLI y todas las versiones anteriores de Google Cloud CLI.