Instala la imagen de Docker de la CLI de Google Cloud

La imagen de Docker de la CLI de Google Cloud te permite extraer una versión específica de la CLI de gcloud como una imagen de Docker de Container Registry y ejecutar con rapidez los comandos de la CLI de Google Cloud de forma aislada y correcta. contenedor configurado.

La imagen de Docker de la CLI de Google Cloud es la CLI de gcloud instalada sobre una imagen de Debian o Alpine. La imagen de Docker está alojada en Container Registry, con el siguiente nombre de repositorio: gcr.io/google.com/cloudsdktool/google-cloud-cli. Las imágenes también están disponibles mediante 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: últimas, delgadas, de emuladores, sellers_component_based y alpine. Puedes especificar tu preferencia con la etiqueta adecuada después del nombre del repositorio de host:

  • :latest, :VERSION: Es una imagen grande (basada en Debian) con componentes adicionales preinstalados.
  • :slim, :VERSION-slim: Es una imagen más pequeña (basada en Debian) sin componentes preinstalados.
  • :emulators, :VERSION-emulators: Es una 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 de 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 la CLI de Google Cloud, gcr.io/google.com/cloudsdktool/google-cloud-cli:latest, extráela de Container 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, verifica la instalación mediante la ejecución de un comando similar al siguiente ejemplo:

    docker run --rm gcr.io/google.com/cloudsdktool/google-cloud-cli:372.0.0 gcloud version
    
  3. Ejecuta este comando para autenticar con la CLI de Google Cloud:

    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 la CLI de Google Cloud 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. Para extender estas imágenes, sigue estas instrucciones:

Imágenes basadas en Debian

Para instalar un componente adicional, como google-cloud-sdk-datastore-emulator, ejecuta los siguientes comandos:

cd debian_slim/

docker build --build-arg CLOUD_SDK_VERSION=159.0.0 \
    --build-arg INSTALL_COMPONENTS="google-cloud-sdk-datastore-emulator" \
    -t my-cloud-sdk-docker:slim .

Imágenes basadas en Alpine

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

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

Cuando termines, ejecuta el siguiente comando:

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

Instala versiones específicas de la CLI de Google Cloud

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

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