Mit dem Docker-Image der Google Cloud CLI können Sie eine bestimmte Version von gcloud-Befehlszeile als Docker-Image aus Container Registry abrufen und Google Cloud-Befehlszeilenbefehle schnell in einem isolierten, korrekt konfigurierten Container ausführen.
Das Docker-Image für die Google Cloud CLI ist die gcloud-Befehlszeile, die auf einem Debian- oder Alpine-Image installiert ist. Das Docker-Image wird in Container Registry mit dem folgenden Repository-Namen gehostet: gcr.io/google.com/cloudsdktool/google-cloud-cli
. Die Images sind auch über die Repositories us.gcr.io
, eu.gcr.io
und asia.gcr.io
verfügbar.
Docker-Image-Optionen
Es gibt fünf Google Cloud CLI-Docker-Images: neueste, schlanke, Emulatoren, debian_component_based und Alpine. Sie können die Einstellung mit dem entsprechenden Tag nach dem Namen des Host-Repositorys angeben:
:latest
,:VERSION
: Großes (Debian-basiertes) Image mit vorinstallierten zusätzlichen Komponenten.:slim
,:VERSION-slim
: Kleineres (Debian-basiertes) Image ohne vorinstallierte Komponenten.:emulators
,:VERSION-emulators
: Kleineres (Debian-basiertes) Image mit vorinstallierten Emulator-Komponenten.:alpine
,:VERSION-alpine
: Kleinste (Alpine-basiertes) Bild ohne zusätzliche Komponenten. Dieses Image unterstützt Linux/Arm.:debian_component_based
,:VERSION-debian_component_based
: Debian-basiert mit allen Komponenten. Im Gegensatz zu:latest
, in dem Deb-Pakete verwendet wurden, wird in diesem Image der Komponentenmanager verwendet, um Komponenten zu installieren. Dieses Image unterstützt Linux/Arm.
Ein bestimmtes Docker-Image installieren
Verwenden Sie das Image der aktuellen Google Cloud CLI-Version
gcr.io/google.com/cloudsdktool/google-cloud-cli:latest
, indem Sie sie mit dem folgenden Befehl aus Container Registry abrufen:docker pull gcr.io/google.com/cloudsdktool/google-cloud-cli:latest
Wenn Sie die neueste Version abgerufen haben, prüfen Sie die Installation, indem Sie Folgendes ausführen:
docker run --rm gcr.io/google.com/cloudsdktool/google-cloud-cli:latest gcloud version
Wenn Sie eine bestimmte Version abgerufen haben, prüfen Sie die Installation. Führen Sie dazu einen Befehl wie im folgenden Beispiel aus:
docker run --rm gcr.io/google.com/cloudsdktool/google-cloud-cli:372.0.0 gcloud version
Führen Sie den folgenden Befehl aus, um sich bei der Google Cloud CLI zu authentifizieren:
docker run -ti --name gcloud-config gcr.io/google.com/cloudsdktool/google-cloud-cli gcloud auth login
Nach der erfolgreichen Authentifizierung werden die Anmeldedaten im Volume von
gcloud-config container
aufbewahrt.Führen Sie den Container mit
--volumes-from
aus, um Compute-Instanzen aufzulisten, die diese Anmeldedaten zur Prüfung verwenden:docker run --rm --volumes-from gcloud-config gcr.io/google.com/cloudsdktool/google-cloud-cli gcloud compute instances list --project your_project
Zusätzliche Komponenten installieren
Auf den neuesten Images (gcr.io/google.com/cloudsdktool/google-cloud-cli:latest
und gcr.io/google.com/cloudsdktool/google-cloud-cli:VERSION
) sind standardmäßig alle Google Cloud-Befehlszeilenkomponenten installiert.
In den Bildern gcr.io/google.com/cloudsdktool/google-cloud-cli:slim
, gcr.io/google.com/cloudsdktool/google-cloud-cli:emulators
und gcr.io/google.com/cloudsdktool/google-cloud-cli:alpine
sind jedoch keine zusätzlichen Komponenten vorinstalliert. Du kannst diese Bilder so erweitern:
Debian-basierte Images
Wenn Sie eine zusätzliche Komponente wie google-cloud-sdk-datastore-emulator
installieren möchten, führen Sie die folgenden Befehle aus:
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 .
Alpine-basierte Images
Erstellen Sie ein Dockerfile, das das Google Cloud CLI-Image als Basis-Image verwendet, um zusätzliche Komponenten für Alpine-basierte Images zu installieren. Wenn Sie beispielsweise die Komponenten kubectl
und app-engine-java
hinzufügen möchten, erstellen Sie ein Dockerfile so:
FROM gcr.io/google.com/cloudsdktool/google-cloud-cli:alpine
RUN apk --update add openjdk7-jre
RUN gcloud components install app-engine-java kubectl
Führen Sie anschließend den folgenden Befehl aus:
docker build -t my-cloud-sdk-docker:alpine .
Bestimmte Versionen der Befehlszeile von Google Cloud installieren
Geben Sie die bevorzugte gcloud-Befehlszeile an, um bestimmte Google Cloud-Befehlszeilenversionen zu installieren, wenn Sie den Befehl docker build
ausführen:
docker build -t my-cloud-sdk-docker:alpine --build-arg CLOUD_SDK_VERSION=<release_number> .