Wenn Sie die Docker-Images :latest
, :alpine
, :emulators
, :latest
, :slim
und :debian_component_based
verwenden, empfehlen wir Ihnen, auf das Debian-basierte :stable
-Image zu migrieren. Dieses hat eine kleinere Größe und bietet verbesserte Sicherheitsfixes. Wenn Sie zum :stable
-Image wechseln möchten, können Sie das :stable
-Docker-Image auf das von Ihnen verwendete debianbasierte Image erweitern.
In einigen Fällen (z.B. Installation älterer inkompatibler Abhängigkeiten wie Python 2 oder älterer JDKs) ist die Erweiterung des :stable
-Images nicht immer möglich. In diesem Fall müssen Sie möglicherweise Ihr eigenes Dockerfile erstellen.
:stable
-Docker-Image erweitern
Sie können das Docker-Image :stable
als Basis-Image verwenden und zusätzliche Komponenten und APT-Pakete installieren, um es in die anderen debianbasierten Docker-Images (:latest
, :emulators
und :slim
) zu erweitern. Um das Docker-Image :stable
zu erweitern, haben Sie folgende Möglichkeiten:
:stable
-Basis-Image durch Anpassung bei Laufzeit erweitern:stable
-Basis-Image durch Erstellen einer eigenen Dockerfile erweitern
:stable
-Basis-Image durch Anpassung zur Laufzeit erweitern
Sie können das :stable
-Docker-Image erweitern, um es als :latest
-, :emulators
- oder :slim
-Image zu verwenden. Dazu passen Sie es zur Laufzeit an.
An das :latest
-Bild anpassen
Führen Sie den folgenden docker run
-Befehl aus, um das :stable
-Docker-Image zur Laufzeit in das :latest
-Docker-Image auszuweiten:
$ docker run -e APT_PACKAGES='curl python3-crcmod apt-transport-https lsb-release openssh-client git make gnupg' \
-e COMPONENTS='google-cloud-cli-datastore-emulator google-cloud-cli-pubsub-emulator google-cloud-cli-bigtable-emulator google-cloud-cli-firestore-emulator google-cloud-cli-spanner-emulator google-cloud-cli-cbt google-cloud-cli-kpt google-cloud-cli-local-extract google-cloud-cli-gke-gcloud-auth-plugin kubectl' \
gcr.io/google.com/cloudsdktool/google-cloud-cli:stable gcloud version
An das :emulators
-Bild anpassen
Sie können den folgenden Befehl ausführen, um das :stable
-Docker-Image zur Laufzeit in das :emulators
-Docker-Image auszuweiten:
$ docker run -e APT_PACKAGES='curl python3-crcmod lsb-release gnupg bash' \
-e COMPONENTS='google-cloud-cli-datastore-emulator google-cloud-cli-pubsub-emulator google-cloud-cli-bigtable-emulator google-cloud-cli-firestore-emulator google-cloud-cli-spanner-emulator' \
gcr.io/google.com/cloudsdktool/google-cloud-cli:stable gcloud version
An das :slim
-Bild anpassen
Sie können das :stable
-Docker-Image als :slim
-Docker-Image erweitern, indem Sie den folgenden docker run
-Befehl ausführen:
$ docker run -e APT_PACKAGES='curl gcc python3-crcmod python3-pip apt-transport-https lsb-release openssh-client git gnupg' \
gcr.io/google.com/cloudsdktool/google-cloud-cli:stable gcloud version
:stable
-Image mit Build-Konfiguration erweitern
Sie können eigene benutzerdefinierte Build-Konfigurationsdateien verwenden, um das :stable
-Docker-Image zu erweitern und zusätzliche Pakete oder Komponenten zu installieren. Wenn Sie Ihr :stable
-Docker-Image beispielsweise erweitern möchten, um die python3-google-auth
- und python3-requests
-Pakete und die pubsub emulator
-Komponente zu installieren, können Sie die folgende Build-Konfigurationsdatei verwenden.
steps:
- id: 'extend-stable'
name: gcr.io/google.com/cloudsdktool/google-cloud-cli:499.0.0-stable
args:
- gcloud
- version
env:
- 'APT_PACKAGES=python3-google-auth python3-requests'
- 'COMPONENTS=google-cloud-cli-pubsub-emulator'
:stable
-Basis-Image durch Erstellen eines eigenen Dockerfiles erweitern
Sie können das :stable
-Docker-Image erweitern, indem Sie ein eigenes Dockerfile mit dem :stable
-Image als Basis-Image erstellen und dann das Docker-Image mit dem Befehl docker build
erstellen.
Eigenes :latest
-Image erstellen
So wandeln Sie das :stable
-Image in das :latest
-Image um:
Erstellen Sie ein eigenes Dockerfile aus
:stable
, indem Sie die erforderlichen Komponenten und Pakete installieren:FROM docker:27.1.1 as static-docker-source FROM gcr.io/google.com/cloudsdktool/google-cloud-cli:stable COPY --from=static-docker-source /usr/local/bin/docker /usr/local/bin/docker COPY --from=static-docker-source /usr/local/libexec/docker/cli-plugins/docker-buildx /usr/local/libexec/docker/cli-plugins/docker-buildx RUN apt-get update -qqy && apt-get -qqy upgrade && apt-get install -qqy \ curl \ python3-crcmod \ apt-transport-https \ lsb-release \ openssh-client \ git \ make \ gnupg && \ export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)" && \ export CLOUD_SDK_VERSION=$(gcloud version | grep "Google Cloud SDK" | grep -oE '[^ ]+$') && \ echo "deb https://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" > /etc/apt/sources.list.d/google-cloud-sdk.list && \ curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && \ apt-get update && \ apt-get install -y google-cloud-cli-datastore-emulator=${CLOUD_SDK_VERSION}-0 \ google-cloud-cli-pubsub-emulator=${CLOUD_SDK_VERSION}-0 \ google-cloud-cli-bigtable-emulator=${CLOUD_SDK_VERSION}-0 \ google-cloud-cli-firestore-emulator=${CLOUD_SDK_VERSION}-0 \ google-cloud-cli-spanner-emulator=${CLOUD_SDK_VERSION}-0 \ google-cloud-cli-cbt=${CLOUD_SDK_VERSION}-0 \ google-cloud-cli-kpt=${CLOUD_SDK_VERSION}-0 \ google-cloud-cli-local-extract=${CLOUD_SDK_VERSION}-0 \ google-cloud-cli-gke-gcloud-auth-plugin=${CLOUD_SDK_VERSION}-0 \ kubectl
Erstelle das Dockerfile, um ein eigenes
:latest
-Docker-Image zu erhalten:$ docker build -t my-cloud-sdk-docker:latest .
Eigenes :emulators
-Image erstellen
So wandeln Sie das :stable
-Image in das :emulators
-Image um:
Erstellen Sie das Dockerfile mit den erforderlichen Komponenten und Paketen:
FROM gcr.io/google.com/cloudsdktool/google-cloud-cli:stable RUN apt-get update -qqy && apt-get -qqy upgrade && apt-get install -qqy \ curl \ python3-crcmod \ lsb-release \ gnupg \ bash && \ export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)" && \ export CLOUD_SDK_VERSION=$(gcloud version | grep "Google Cloud SDK" | grep -oE '[^ ]+$') && \ echo "deb https://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" > /etc/apt/sources.list.d/google-cloud-sdk.list && \ curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && \ apt-get update && \ apt-get install -y google-cloud-cli-datastore-emulator=${CLOUD_SDK_VERSION}-0 \ google-cloud-cli-pubsub-emulator=${CLOUD_SDK_VERSION}-0 \ google-cloud-cli-bigtable-emulator=${CLOUD_SDK_VERSION}-0 \ google-cloud-cli-firestore-emulator=${CLOUD_SDK_VERSION}-0 \ google-cloud-cli-spanner-emulator=${CLOUD_SDK_VERSION}-0
Erstellen Sie das Dockerfile mit dem Befehl:
$ docker build -t my-cloud-sdk-docker:emulators .
Eigenes :slim
-Image erstellen
So wandeln Sie das :stable
-Image in das :slim
-Image um:
Erstellen Sie ein Dockerfile mit
:stable
als Basis-Image:FROM docker:27.1.1 as static-docker-source FROM gcr.io/google.com/cloudsdktool/google-cloud-cli:stable COPY --from=static-docker-source /usr/local/bin/docker /usr/local/bin/docker COPY --from=static-docker-source /usr/local/libexec/docker/cli-plugins/docker-buildx /usr/local/libexec/docker/cli-plugins/docker-buildx RUN apt-get update -qqy && apt-get -qqy upgrade && apt-get install -qqy \ curl \ python3-crcmod \ apt-transport-https \ lsb-release \ openssh-client \ git \ make \ gnupg
Erstellen Sie das Dockerfile mit dem folgenden Befehl:
$ docker build -t my-cloud-sdk-docker:slim .