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 realiza ejecuciones rápidas Comandos de Google Cloud CLI en un contenedor aislado y configurado de forma correcta.

La imagen de Docker de Google Cloud CLI es gcloud CLI instalada en superior de 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 seis imágenes de Docker de Google Cloud CLI: estable, más reciente, delgada, emuladores, debian_component_based y alpine. Puedes especificar tus preferencias con el etiqueta adecuada después del nombre del repositorio de host:

  • :stable, :VERSION-stable: Imagen predeterminada (basada en Debian) con una instalación estándar de gcloud.
  • :latest, :VERSION: Imagen grande (basada en Debian) con componentes adicionales preinstalado.
  • :slim, :VERSION-slim: Imagen más pequeña (basada en Debian) sin componentes preinstalado.
  • :emulators, :VERSION-emulators: Imagen más pequeña (basada en Debian) con emulador preinstalados.
  • :alpine, :VERSION-alpine: 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 admite linux/arm.

Instala una imagen de Docker especificada

  1. Para usar la imagen de la versión estable de Google Cloud CLI, sigue estos pasos: gcr.io/google.com/cloudsdktool/google-cloud-cli:stable, extraerla de Artifact Registry ejecutando el siguiente comando:

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

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

    Si extrajiste una versión específica, verifica la instalación ejecutando un comando similar al siguiente ejemplo:

    docker run --rm gcr.io/google.com/cloudsdktool/google-cloud-cli:stable-<release_version> gcloud version
    
  3. Ejecuta el siguiente comando para autenticar con Google Cloud CLI:

    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 estables (gcr.io/google.com/cloudsdktool/google-cloud-cli:stable y gcr.io/google.com/cloudsdktool/google-cloud-cli:stable-VERSION) no tienen Componentes instalados que no sean bq ni gsutil Para instalar más para la imagen estable, puedes clonar el cloud-sdk-docker directorio de GitHub y usar el comando docker build para compilar La imagen de Docker :stable del Dockerfile con INSTALL_COMPONENTS argumento. Por ejemplo, para agregar componentes datastore-emulator, haz lo siguiente:

# clone the GitHub docker directory 
$ git clone https://github.com/GoogleCloudPlatform/cloud-sdk-docker.git
$ docker build --build-arg CLOUD_SDK_VERSION=<release_version> \
   --build-arg INSTALL_COMPONENTS="google-cloud-cli-datastore-emulator=<release_version>-0 \
   -t my-cloud-sdk-docker:stable .

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

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 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 tus apps Versión de gcloud CLI cuando ejecutas el comando docker build:

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

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