Installazione dell'immagine Docker dell'interfaccia a riga di comando di Google Cloud

L'immagine Docker dell'interfaccia a riga di comando di Google Cloud consente di estrarre una versione specifica dell'interfaccia a riga di comando gcloud come immagine Docker da Container Registry ed eseguire rapidamente i comandi dell'interfaccia a riga di comando di Google Cloud in un container isolato e configurato correttamente.

L'immagine Docker dell'interfaccia a riga di comando di Google Cloud è l'interfaccia a riga di comando gcloud installata su un'immagine Debian o Alpine. L'immagine Docker è ospitata su Container Registry con il seguente nome repository: gcr.io/google.com/cloudsdktool/google-cloud-cli. Le immagini sono disponibili anche utilizzando i repository us.gcr.io, eu.gcr.io e asia.gcr.io.

Opzioni immagine Docker

Sono disponibili cinque immagini Google Cloud CLI Docker: più recenti, slim, emulatori, debian_component_based e Alpine. Puoi specificare la preferenza utilizzando il tag appropriato dopo il nome del repository host:

  • :latest, :VERSION: immagine grande (basata su Debian) con componenti aggiuntivi preinstallati.
  • :slim, :VERSION-slim: immagine più piccola (basata su Debian) senza componenti preinstallati.
  • :emulators, :VERSION-emulators: immagine più piccola (basata su Debian) con componenti emulatori preinstallati.
  • :alpine, :VERSION-alpine: immagine più piccola (basata su Alpina) senza componenti aggiuntivi installati. Questa immagine supporta linux/arm.
  • :debian_component_based, :VERSION-debian_component_based: basato su Debian con tutti i componenti. A differenza di :latest, che utilizzava i pacchetti deb, questa immagine utilizza il gestore di componenti per installare i componenti. Questa immagine supporta linux/arm.

Installazione di un'immagine Docker specificata

  1. Per utilizzare l'immagine della release più recente dell'interfaccia a riga di comando di Google Cloud, gcr.io/google.com/cloudsdktool/google-cloud-cli:latest, esegui il pull da Container Registry eseguendo il seguente comando:

    docker pull gcr.io/google.com/cloudsdktool/google-cloud-cli:latest
    
  2. Se hai eseguito il pull dell'ultima versione, verifica l'installazione eseguendo questo comando:

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

    Se hai eseguito il pull di una versione specifica, verifica l'installazione eseguendo un comando simile al seguente esempio:

    docker run --rm gcr.io/google.com/cloudsdktool/google-cloud-cli:372.0.0 gcloud version
    
  3. Esegui l'autenticazione con l'interfaccia a riga di comando di Google Cloud eseguendo:

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

    Una volta eseguita l'autenticazione, le credenziali vengono conservate nel volume del gcloud-config container.

  4. Elenca le istanze di calcolo utilizzando queste credenziali per la verifica eseguendo il container 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
    

Installazione dei componenti aggiuntivi

Per impostazione predefinita, nelle immagini più recenti (gcr.io/google.com/cloudsdktool/google-cloud-cli:latest e gcr.io/google.com/cloudsdktool/google-cloud-cli:VERSION) sono installati tutti i componenti dell'interfaccia a riga di comando di Google Cloud.

Tuttavia, le immagini gcr.io/google.com/cloudsdktool/google-cloud-cli:slim, gcr.io/google.com/cloudsdktool/google-cloud-cli:emulators e gcr.io/google.com/cloudsdktool/google-cloud-cli:alpine non hanno componenti aggiuntivi preinstallati. Puoi estendere queste immagini seguendo le istruzioni riportate di seguito:

Immagini basate su Debian

Per installare un componente aggiuntivo, come google-cloud-sdk-datastore-emulator, esegui i seguenti comandi:

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 .

Immagini alpini

Per installare componenti aggiuntivi per le immagini basate su Alpine, crea un Dockerfile che utilizzi l'immagine dell'interfaccia a riga di comando di Google Cloud come immagine di base. Ad esempio, per aggiungere componenti kubectl e app-engine-java, crea un Dockerfile simile al seguente:

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

Al termine, esegui questo comando:

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

Installazione di versioni specifiche dell'interfaccia a riga di comando di Google Cloud

Per installare versioni dell'interfaccia a riga di comando specifiche di Google Cloud, specifica la tua versione dell'interfaccia a riga di comando gcloud preferita quando esegui il comando docker build:

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