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 rápidamente comandos de la CLI de Google Cloud en un contenedor aislado y configurado correctamente.
La imagen de Docker de la CLI de Google Cloud es la CLI de gcloud instalada en la parte superior de una imagen de Debian o Alpine. La imagen de Docker se aloja 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 en los repositorios us.gcr.io
, eu.gcr.io
y asia.gcr.io
.
Opciones de imagen de Docker
Hay cinco imágenes de Docker de la CLI de Google Cloud: última, delgada, emuladores, debian_component_based y alpina. Puedes especificar tu preferencia mediante la etiqueta correspondiente 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
: 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
: Basada 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
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 con el siguiente comando:docker pull gcr.io/google.com/cloudsdktool/google-cloud-cli:latest
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 el siguiente comando para verificar la instalación:
docker run --rm gcr.io/google.com/cloudsdktool/google-cloud-cli:372.0.0 gcloud version
Ejecuta el siguiente 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
.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 las instrucciones que se indican a continuación:
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 imágenes basadas en Alpine, crea un Dockerfile que use la imagen de la CLI de Google Cloud 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 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 tu versión preferida 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> .