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
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
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
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
.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> .