Überblick
In diesem Lab erstellen Sie mit Cloud Build ein Docker-Container-Image. Dazu verwenden Sie den bereitgestellten Code und ein Dockerfile. Danach laden Sie den Container in Artifact Registry hoch.
Ziele
Aufgaben in diesem Lab:
- Container mit Cloud Build erstellen und per Push übertragen
- Container mit Artifact Registry speichern und bereitstellen
Lab einrichten
Auf das Lab zugreifen
Für jedes Lab werden Ihnen ein neues Google Cloud-Projekt und die entsprechenden Ressourcen für eine bestimmte Zeit kostenlos zur Verfügung gestellt.
-
Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Pop-up-Fenster geöffnet, in dem Sie Ihre Zahlungsmethode auswählen können.
Auf der linken Seite befindet sich der Bereich Details zum Lab mit diesen Informationen:
- Schaltfläche Google Cloud Console öffnen
- Restzeit
- Temporäre Anmeldedaten für das Lab
- Ggf. weitere Informationen für dieses Lab
-
Klicken Sie auf Google Cloud Console öffnen (oder klicken Sie mit der rechten Maustaste und wählen Sie Link in Inkognitofenster öffnen aus, wenn Sie Chrome verwenden).
Im Lab werden Ressourcen aktiviert. Anschließend wird ein weiterer Tab mit der Seite Anmelden geöffnet.
Tipp: Ordnen Sie die Tabs nebeneinander in separaten Fenstern an.
Hinweis: Wird das Dialogfeld Konto auswählen angezeigt, klicken Sie auf Anderes Konto verwenden.
-
Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.
{{{user_0.username | "Username"}}}
Sie finden den Nutzernamen auch im Bereich Details zum Lab.
-
Klicken Sie auf Weiter.
-
Kopieren Sie das folgende Passwort und fügen Sie es in das Dialogfeld Willkommen ein.
{{{user_0.password | "Password"}}}
Sie finden das Passwort auch im Bereich Details zum Lab.
-
Klicken Sie auf Weiter.
Wichtig: Sie müssen die für das Lab bereitgestellten Anmeldedaten verwenden. Nutzen Sie nicht die Anmeldedaten Ihres Google Cloud-Kontos.
Hinweis: Wenn Sie Ihr eigenes Google Cloud-Konto für dieses Lab nutzen, können zusätzliche Kosten anfallen.
-
Klicken Sie sich durch die nachfolgenden Seiten:
- Akzeptieren Sie die Nutzungsbedingungen.
- Fügen Sie keine Wiederherstellungsoptionen oder Zwei-Faktor-Authentifizierung hinzu (da dies nur ein temporäres Konto ist).
- Melden Sie sich nicht für kostenlose Testversionen an.
Nach wenigen Augenblicken wird die Google Cloud Console in diesem Tab geöffnet.
Hinweis: Wenn Sie eine Liste der Google Cloud-Produkte und ‑Dienste aufrufen möchten, klicken Sie oben links auf das Navigationsmenü oder geben Sie den Namen des Produkts oder Dienstes in das Feld Suchen ein.
Nachdem Sie sich angemeldet haben, sehen Sie das Projekt-Dashboard.
Google Cloud Shell aktivieren
Google Cloud Shell ist eine virtuelle Maschine, auf der Entwicklertools installiert sind. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft in Google Cloud.
Mit Google Cloud Shell erhalten Sie Befehlszeilenzugriff auf Ihre Google Cloud-Ressourcen.
-
Klicken Sie in der Cloud Console in der rechten oberen Symbolleiste auf „Cloud Shell öffnen“.

-
Klicken Sie auf Weiter.
Die Bereitstellung und Verbindung mit der Umgebung dauert einen kleinen Moment. Wenn Sie verbunden sind, sind Sie auch bereits authentifiziert und das Projekt ist auf Ihre PROJECT_ID eingestellt. Beispiel:

gcloud ist das Befehlszeilentool für Google Cloud. Das Tool ist in Cloud Shell vorinstalliert und unterstützt die Tab-Vervollständigung.
- Sie können den aktiven Kontonamen mit diesem Befehl auflisten:
gcloud auth list
Ausgabe:
Konten mit Anmeldedaten:
- @.com (aktiv)
Beispielausgabe:
Konten mit Anmeldedaten:
- google1623327_student@qwiklabs.net
- Sie können die Projekt-ID mit diesem Befehl auflisten:
gcloud config list project
Ausgabe:
[core]
Projekt =
Beispielausgabe:
[core]
Projekt = qwiklabs-gcp-44776a13dea667a6
Hinweis:
Die vollständige Dokumentation zu gcloud finden Sie in der Übersicht zur gcloud CLI.
Aufgabe 1: Prüfen, ob die benötigten APIs aktiviert sind
-
Notieren Sie sich den Namen des Google Cloud-Projekts. Sie finden ihn in der obersten Leiste der Google Cloud Console. Er setzt sich aus der Zeichenfolge qwiklabs-gcp- und einer darauf folgenden Hexadezimalzahl zusammen.
-
Klicken Sie im Navigationsmenü (
) der Google Cloud Console auf APIs und Dienste.
-
Klicken Sie auf Bibliothek.
-
Im Feld Nach APIs und Diensten suchen geben Sie Cloud Build ein.
-
Es wird eine Karte für die Cloud Build API angezeigt. Wenn dort nicht steht, dass die Cloud Build API aktiviert wurde, klicken Sie auf Aktivieren.
-
Klicken Sie auf Zurück, um zur vorherigen Ansicht mit dem Suchfeld zurückzukehren. Geben Sie Artifact Registry in das Suchfeld ein.
-
Es wird eine Karte für die Google Artifact Registry API angezeigt. Wenn dort nicht steht, dass die Artifact Registry API aktiviert wurde, klicken Sie auf Aktivieren.
Aufgabe 2: Container mit Dockerfile und Cloud Build erstellen
Sie können Build-Konfigurationsdateien schreiben, um Cloud Build Anweisungen für die Aufgaben zu geben, die beim Erstellen eines Containers durchgeführt werden sollen. Diese Build-Dateien können Abhängigkeiten abrufen, Einheitentests und Analysen durchführen und vieles mehr. Bei dieser Aufgabe erstellen Sie ein Dockerfile, das Sie als Build-Konfigurationsskript mit Cloud Build verwenden. Außerdem erstellen Sie ein einfaches Shell-Script (quickstart.sh), das eine Anwendung im Container darstellt.
-
Klicken Sie in der Titelleiste der Google Cloud Console auf Cloud Shell aktivieren.
-
Wenn Sie dazu aufgefordert werden, klicken Sie auf Autorisieren.
Die Cloud Shell wird unten im Fenster der Google Cloud Console geöffnet.
- Erstellen Sie mit dem nano-Texteditor eine leere
quickstart.sh-Datei:
nano quickstart.sh
- Tragen Sie folgende Zeilen in die Datei
quickstart.sh ein:
#!/bin/sh
echo "Hello, world! The time is $(date)."
-
Speichern Sie die Datei und schließen Sie nano mit der Tastenkombination „STRG + X“. Drücken Sie anschließend „Y“ und die Eingabetaste.
-
Erstellen Sie mit dem nano-Texteditor eine leere Dockerfile-Datei:
nano Dockerfile
- Fügen Sie den folgenden Dockerfile-Befehl ein:
FROM alpine
Damit geben Sie dem Build die Anweisung, das Basis-Image von Alpine Linux zu verwenden.
- Tragen Sie am Ende des Dockerfiles den folgenden Dockerfile-Befehl ein:
COPY quickstart.sh /
Damit wird dem / Verzeichnis im Image das Script quickstart.sh hinzugefügt.
- Tragen Sie am Ende des Dockerfiles den folgenden Dockerfile-Befehl ein:
CMD ["/quickstart.sh"]
Damit konfigurieren Sie das Image so, dass es das Script /quickstart.sh ausführt, wenn der dazugehörige Container erstellt und aktiv ist.
Das Dockerfile sollte jetzt so aussehen:
FROM alpine
COPY quickstart.sh /
CMD ["/quickstart.sh"]
-
Speichern Sie die Datei und schließen Sie nano mit der Tastenkombination „STRG + X“. Drücken Sie anschließend „Y“ und die Eingabetaste.
-
Führen Sie in der Cloud Shell den folgenden Befehl aus, um das Script quickstart.sh ausführbar zu machen:
chmod +x quickstart.sh
- Erstellen Sie am Speicherort ein neues Docker-Repository namens
quickstart-docker-repo mit der Beschreibung „Docker-Repository“.
gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \
--location={{{project_0.default_region | "REGION"}}} --description="Docker repository"
- Führen Sie in der Cloud Shell den folgenden Befehl aus, um das Docker-Container-Image in Cloud Build zu erstellen:
gcloud builds submit --tag {{{project_0.default_region | "REGION"}}}-docker.pkg.dev/${DEVSHELL_PROJECT_ID}/quickstart-docker-repo/quickstart-image:tag1
Am Ende des Builds ist Ihr Docker-Image fertig und wird an Artifact Registry übertragen.
- Suchen Sie in der Google Cloud Console in der Suchleiste (oben im Console-Fenster) nach Artifact Registry.
Hinweis: Wenn Sie kein Suchfeld sehen, klicken Sie auf das Lupensymbol.
Hinweis: Möglicherweise wird ein Pop-up-Fenster mit der Meldung Durch Verlassen des Inhalts wird die aktuelle Ansicht zurückgesetzt. angezeigt. Klicken Sie auf Ok, um fortzufahren.
- Klicken Sie auf das Repository
quickstart-docker-repo.
Das Docker-Image quickstart-image wird in der Liste aufgeführt.
Aufgabe 3: Container mit einer Build-Konfigurationsdatei und Cloud Build erstellen
Cloud Build unterstützt auch benutzerdefinierte Build-Konfigurationsdateien. Im Rahmen dieser Aufgabe binden Sie einen bereits vorhandenen Docker-Container in Cloud Build ein. Dazu arbeiten Sie mit einer benutzerdefinierten Build-Datei im YAML-Format.
Sie erstellen jetzt eine benutzerdefinierte Build-Konfigurationsdatei namens cloudbuild.yaml.
- Erstellen Sie mit nano und dem folgenden Befehl eine Datei namens
cloudbuild.yaml und öffnen Sie sie:
nano cloudbuild.yaml
- Fügen Sie nach dem Öffnen von nano Folgendes in die Datei
cloudbuild.yaml ein:
steps:
- name: 'gcr.io/cloud-builders/docker'
args: [ 'build', '-t', 'YourRegionHere-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1', '.' ]
images:
- 'YourRegionHere-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'
-
Drücken Sie Strg + O und dann die Eingabetaste, um die bearbeitete Datei zu speichern.
-
Drücken Sie Strg + X, um den nano-Texteditor zu verlassen.
-
Führen Sie den folgenden Befehl aus, um die Variable „region“ festzulegen und den Wert in die YAML-Datei einzufügen:
export REGION={{{project_0.default_region | "REGION"}}}
sed -i "s/YourRegionHere/$REGION/g" cloudbuild.yaml
- Führen Sie in der Cloud Shell den folgenden Befehl aus, um sich den Inhalt von
cloudbuild.yaml anzusehen:
cat cloudbuild.yaml
Sie sehen Folgendes:
steps:
- name: 'gcr.io/cloud-builders/docker'
args: [ 'build', '-t', '{{{project_0.default_region | "REGION"}}}-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1', '.' ]
images:
- '{{{project_0.default_region | "REGION"}}}-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'
Diese Datei weist Cloud Build an, mit Docker anhand der Dockerfile-Spezifikation im aktuellen lokalen Verzeichnis ein Image zu erstellen, dieses mit gcr.io/$PROJECT_ID/quickstart-image zu kennzeichnen und dann an Artifact Registry zu übertragen. $PROJECT_ID ist eine Substitutionsvariable, in die Cloud Build automatisch die Projekt-ID des zugehörigen Projekts einfügt.
- Führen Sie in der Cloud Shell den folgenden Befehl aus, um Cloud Build zu starten. Dabei wird
cloudbuild.yaml als Build-Konfigurationsdatei verwendet:
gcloud builds submit --config cloudbuild.yaml
Die Build-Ausgabe an die Cloud Shell sollte genauso wie vorher aussehen. Wenn der Build fertig ist, wird eine neue Version desselben Images an Artifact Registry übertragen.
-
Suchen Sie in der Google Cloud Console in der Suchleiste (oben im Console-Fenster) nach Artifact Registry.
-
Klicken Sie in den Suchergebnissen auf Artifact Registry.
-
Klicken Sie auf das Repository quickstart-docker-repo > quickstart-image.
Jetzt enthält die Liste zwei Versionen von quickstart-image.
Klicken Sie auf Fortschritt prüfen.
Zwei Container-Images in Cloud Build erstellen
-
Suchen Sie in der Google Cloud Console in der Suchleiste (oben im Console-Fenster) nach Cloud Build.
-
Klicken Sie in den Suchergebnissen auf Cloud Build.
-
Klicken Sie in Cloud Build auf Verlauf.
In der Liste stehen zwei Builds.
-
Klicken Sie auf die ID des oberen Builds.
Die Details des Builds, darunter auch das Build-Log, werden nun angezeigt.
Aufgabe 4: Container mit einer Build-Konfigurationsdatei und Cloud Build erstellen und testen
Mit benutzerdefinierten Build-Konfigurationsdateien lassen sich nicht einfach nur Container erstellen. Sie bieten – parallel dazu oder nacheinander – noch viele weitere Möglichkeiten: neu erstellte Container testen, per Push an verschiedene Ziele übertragen und sie sogar in der Kubernetes Engine bereitstellen.
Im Rahmen dieser Aufgabe betrachten wir ein einfaches Beispiel: Eine Build-Konfigurationsdatei testet den erstellten Container und meldet das Ergebnis an die aufrufende Umgebung.
Der erste Schritt besteht darin, die Datei quickstart.sh zu ändern.
-
Öffnen Sie quickstart.sh mit nano in der Cloud Shell.
nano quickstart.sh
-
Ersetzen Sie den vorhandenen Code durch Folgendes:
#!/bin/sh
if [ -z "$1" ]
then
echo "Hello, world! The time is $(date)."
exit 0
else
exit 1
fi
-
Drücken Sie Strg + O und dann die Eingabetaste, um die bearbeitete Datei zu speichern.
-
Drücken Sie Strg + X, um den nano-Texteditor zu verlassen.
Jetzt erstellen Sie eine neue benutzerdefinierte Build-Konfigurationsdatei namens cloudbuild2.yaml. Sie wurde leicht angepasst, um zu zeigen, wie Cloud Build die erstellten Container testet.
- Erstellen Sie mit nano und dem folgenden Befehl eine Datei namens
cloudbuild2.yaml und öffnen Sie sie:
nano cloudbuild2.yaml
- Fügen Sie nach dem Öffnen von nano Folgendes in die Datei
cloudbuild2.yaml ein:
steps:
- name: 'gcr.io/cloud-builders/docker'
args: [ 'build', '-t', 'YourRegionHere-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1', '.' ]
- name: 'YourRegionHere-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'
args: ['fail']
images:
- 'YourRegionHere-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'
-
Drücken Sie Strg + O und dann die Eingabetaste, um die bearbeitete Datei zu speichern.
-
Drücken Sie Strg + X, um den nano-Texteditor zu verlassen.
-
Führen Sie den folgenden Befehl aus, um den Wert für die Region in die YAML-Datei einzufügen:
sed -i "s/YourRegionHere/$REGION/g" cloudbuild2.yaml
- Führen Sie in der Cloud Shell den folgenden Befehl aus, um sich den Inhalt von
cloudbuild2.yaml anzusehen:
cat cloudbuild2.yaml
Sie sehen Folgendes:
steps:
- name: 'gcr.io/cloud-builders/docker'
args: [ 'build', '-t', '{{{project_0.default_region | "REGION"}}}-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1', '.' ]
- name: 'gcr.io/$PROJECT_ID/quickstart-image'
args: ['fail']
images:
- '{{{project_0.default_region | "REGION"}}}-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'
Zusätzlich zu den vorhergehenden Aktionen führt die Build-Konfigurationsdatei das quickstart-image aus, das sie erstellt hat. Für diese Aufgabe wurde das Skript quickstart.sh so angepasst, dass es einen Fehler im Test simuliert, wenn das Argument ['fail'] eingeht.
- Führen Sie in der Cloud Shell den folgenden Befehl aus, um Cloud Build zu starten. Dabei wird
cloudbuild.yaml als Build-Konfigurationsdatei verwendet:
gcloud builds submit --config cloudbuild2.yaml
Sie werden sehen, dass die Ausgabe des Befehls mit folgendem Text endet:
Ausgabe
BUILD FAILURE: Build step failure: build step 1 "us-east1-docker.pkg.dev/qwiklabs-gcp-02-1c7ba5c697a0/quickstart-docker-repo/quickstart-image:tag1" failed: starting step container failed: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "fail": executable file not found in $PATH: unknown
ERROR: (gcloud.builds.submit) build 96c4a454-be06-4010-aa7c-da57c14165f4 completed with status "FAILURE"
- Prüfen Sie, ob die Befehls-Shell erkannt hat, dass der Build fehlgeschlagen ist:
echo $?
Der Befehl antwortet mit einem Wert, der nicht Null beträgt. Wenn Sie diesen Build in ein Script eingebettet hätten, hätte dieses beim Fehlschlagen des Builds nicht funktioniert.
Klicken Sie auf Fortschritt prüfen.
Container mit einer Build-Konfigurationsdatei und Cloud Build erstellen und testen
Lab beenden
Wenn Sie das Lab abgeschlossen haben, klicken Sie auf Lab beenden. Google Cloud Skills Boost entfernt daraufhin die von Ihnen genutzten Ressourcen und bereinigt das Konto.
Anschließend erhalten Sie die Möglichkeit, das Lab zu bewerten. Wählen Sie die entsprechende Anzahl von Sternen aus, schreiben Sie einen Kommentar und klicken Sie anschließend auf Senden.
Die Anzahl der Sterne hat folgende Bedeutung:
- 1 Stern = Sehr unzufrieden
- 2 Sterne = Unzufrieden
- 3 Sterne = Neutral
- 4 Sterne = Zufrieden
- 5 Sterne = Sehr zufrieden
Wenn Sie kein Feedback geben möchten, können Sie das Dialogfeld einfach schließen.
Verwenden Sie für Feedback, Vorschläge oder Korrekturen den Tab Support.
© 2026 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.