Instala la imagen de Docker del SDK de Cloud

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

La imagen de Docker del SDK de Cloud es el SDK de Cloud instalado sobre una imagen de SO basada en Debian. La imagen de Docker está alojada en Container Registry, con el siguiente nombre de repositorio: gcr.io/google.com/cloudsdktool/cloud-sdk.

Opciones de imagen de Docker

Las imágenes de Docker del SDK de Cloud vienen en tres versiones. más reciente, delgada y alpina. Puedes especificar tu preferencia con la etiqueta adecuada después del nombre del repositorio de 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
  • :alpine, :VERSION-alpine: La imagen más pequeña (basada en Alpine) sin componentes adicionales instalados

Instala una imagen de Docker especificada

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

    docker pull gcr.io/google.com/cloudsdktool/cloud-sdk: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/cloud-sdk: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/cloud-sdk:266.0.0 gcloud version
    
  3. Ejecuta el siguiente comando para autenticar con la herramienta de gcloud:

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

    Después de autenticarte de forma correcta, las credenciales se conservan en el volumen de gcloud-config container.

  4. Genera una lista de las instancias de procesamiento con 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/cloud-sdk gcloud compute instances list --project your_project
    

Instala componentes adicionales

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

Las imágenes gcr.io/google.com/cloudsdktool/cloud-sdk:slim y gcr.io/google.com/cloudsdktool/cloud-sdk:alpine, sin embargo, 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 lo siguiente:

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 del SDK de 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/cloud-sdk: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 del SDK de Cloud

Para instalar versiones específicas del SDK de Cloud, ingresa tu versión preferida cuando ejecutes el comando docker build de la siguiente manera:

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