Docker-Image für die Google Cloud CLI installieren

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

  1. 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
    
  2. 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
    
  3. 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.

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