Vorkonfigurierte Basis-Images

Google Cloud verwaltet die folgenden Basis-Images für Cloud Workstations, die von den Google Cloud's Standard-Basis-Images abgeleitet sind.

Liste vorkonfigurierter Basis-Images

Diese Images können direkt in Workstationkonfigurationen verwendet werden, oder sie können als Basis-Images dienen, wenn Sie benutzerdefinierte Container-Images mit dem Befehl FROM von Docker erstellen.

Image Beschreibung
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest Cloud Workstations-Basiseditor, Code OSS für Cloud Workstations, basierend auf Code-OSS. (Standardeinstellung)
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/base:latest Basis-Image ohne installierte IDE.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss-cuda:latest Cloud Workstations-Basiseditor, Code OSS für Cloud Workstations, basierend auf Code-OSS mit NVIDIA CUDA Toolkit.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/clion:latest CLion-IDE. Nur über JetBrains Gateway zugänglich.
Informationen zur Installation und zu den ersten Schritten finden Sie unter Code mit lokalen JetBrains-IDEs entwickeln.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/goland:latest GoLand-IDE. Nur über JetBrains Gateway zugänglich.
Informationen zur Installation und zu den ersten Schritten finden Sie unter Code mit lokalen JetBrains-IDEs entwickeln.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/intellij-ultimate:latest IntelliJ IDEA Ultimate-IDE. Nur über JetBrains Gateway zugänglich.
Informationen zur Installation und zu den ersten Schritten finden Sie unter Code mit lokalen JetBrains-IDEs entwickeln.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/phpstorm:latest PhpStorm-IDE. Nur über JetBrains Gateway zugänglich.
Informationen zur Installation und zu den ersten Schritten finden Sie unter Code mit lokalen JetBrains-IDEs entwickeln.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/pycharm:latest PyCharm Professional-IDE. Nur über JetBrains Gateway zugänglich.
Informationen zur Installation und zu den ersten Schritten finden Sie unter Code mit lokalen JetBrains-IDEs entwickeln.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/rider:latest Rider-IDE. Nur über JetBrains Gateway zugänglich.
Informationen zur Installation und zu den ersten Schritten finden Sie unter Code mit lokalen JetBrains-IDEs entwickeln.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/rubymine:latest RubyMine-IDE. Nur über JetBrains Gateway zugänglich.
Informationen zur Installation und zu den ersten Schritten finden Sie unter Code mit lokalen JetBrains-IDEs entwickeln.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/webstorm:latest WebStorm-IDE. Nur über JetBrains Gateway zugänglich.
Informationen zur Installation und zu den ersten Schritten finden Sie unter Code mit lokalen JetBrains-IDEs entwickeln.

Liste von Basis-Images von Drittanbietern

Image von Drittanbietern Drittanbieter
us-central1-docker.pkg.dev/posit-images/cloud-workstations/workbench:latest Posit Workbench (einschließlich RStudio Pro)

Wenn Sie Probleme mit der Posit Workbench-IDE oder mit dem Posit Workbench Container-Image haben, melden Sie sie auf GitHub an Posit.

Struktur von Cloud Workstations-Basis-Images

Cloud Workstations-Basis-Images haben die folgende definierte Struktur:

  • Die Einstiegsdatei des Basis-Images ist auf /google/scripts/entrypoint.sh festgelegt.
  • Beim Start werden in Basis-Images Dateien unter /etc/workstation-startup.d/* in lexikografischer Reihenfolge ausgeführt, um die Workstationumgebung zu initialisieren.

    Die Dateien und ihr Verhalten sind wie folgt:

    • 000_configure-docker.sh: Konfiguriert und führt Docker in der Workstation aus.
    • 010_add-user.sh: Erstellt den Standardnutzer in Cloud Workstations.

      Da der nichtflüchtige Speicher dynamisch an den Container angehängt wird, müssen Nutzer beim Start der Workstation und nicht im Dockerfile hinzugefügt werden.

    • 020_start-sshd.sh: Startet den Dienst sshd im Container.

    • 030_customize-environment.sh: Führt /home/user/.workstation/customize_environment als user aus.

    • 110_start-$IDE.sh: Startet die IDE für das Image.

  • Cloud Workstations speichert Docker-Images im Basisverzeichnis unter /home/.docker_data, damit die Images zwischen Sitzungen erhalten bleiben.

Wenn Sie beim Start der Workstation zusätzliche Funktionen hinzufügen möchten, fügen Sie Ihre Skripts im Verzeichnis /etc/workstation-startup.d/ hinzu:

  • Skripts in diesem Verzeichnis werden standardmäßig als Root ausgeführt. Wenn Sie die Skripts als anderer Nutzer ausführen möchten, verwenden Sie den Befehl runuser.

  • Da Skripts in lexikografischer Reihenfolge ausgeführt werden, empfehlen wir, den Skripts eine dreistellige Zahl voranzustellen, die größer als 200 ist.

Wenn Sie das Image einer Workstation nicht erweitern möchten, können Sie alternativ ein `customize_environment`-Skript in Ihrem Basisverzeichnis erstellen.

Änderungen am Basisverzeichnis

Wenn in der Workstationkonfiguration ein nichtflüchtiges Basisverzeichnis angegeben ist (Standardverhalten), wird ein nichtflüchtiger Speicher, der das Basisverzeichnis unterstützt, zur Laufzeit dynamisch an den Container angehängt. Dadurch werden Änderungen überschrieben, die beim Erstellen des Container-Images am Verzeichnis /home vorgenommen wurden.

Wenn Sie Aktualisierungen beibehalten möchten, ändern Sie das Verzeichnis /home zur Laufzeit des Containers. Fügen Sie dazu ein Skript im Verzeichnis /etc/workstation-startup.d hinzu oder fügen Sie eine Konfiguration pro Nutzer im Verzeichnis /etc/profile.d hinzu. Um den Vorgang zu beschleunigen, können Sie das Setupscript als Hintergrundprozess ausführen (fügen Sie am Ende des Befehls ein kaufmännisches Und (&) hinzu), um zu verhindern, dass der Start des Containers blockiert wird.

Einige Beispiele für Konfigurationen zur Build-Zeit, die zur Laufzeit des Containers verschoben werden sollten:

  • git-Konfiguration pro Nutzer
  • git-Repositories, die im Basisverzeichnis geklont wurden
  • Direkte Nutzerkonfiguration, z. B. das Platzieren von Dateien in einem Verzeichnis $HOME/.config
  • Nutzer erstellen

Nutzer erstellen und ändern

Da der nichtflüchtige Speicher zur Laufzeit dynamisch an den Container angehängt wird, müssen Nutzer beim Start der Workstation und nicht im Dockerfile hinzugefügt werden. Wenn Sie zusätzliche Nutzer ändern oder erstellen möchten, empfehlen wir, /etc/workstation-startup.d/010_add-user.sh zu aktualisieren oder ein eigenes Skript zu erstellen, das beim Start ausgeführt wird.

Außerdem können Sie das Standard-Bash-Profil für die Nutzer ändern, indem Sie die Dateien in /etc/profile.d aktualisieren.

Vorkonfigurierte Secure APT-Schlüssel aktualisieren

In Cloud Workstations-Basis-Images sind eine Reihe von Tools vorinstalliert, die mit Secure APT aus verschiedenen Drittanbieter-Repositories abgerufen wurden. Im Rahmen des Installationsprozesses werden öffentliche Schlüssel, die von den Repository-Inhabern bereitgestellt werden, mit gpg importiert und in einzelnen Dateien unter /usr/share/keyrings/ platziert. Auf diese Dateien wird in entsprechenden list Dateien unter /etc/apt/sources.list.d/ verwiesen. So kann apt die Integrität eines bestimmten Repositorys überprüfen, wenn mit ihm interagiert wird.

Gelegentlich entscheiden sich die Inhaber von Drittanbieter-Repositories möglicherweise, den öffentlichen Schlüssel zu ändern, der zur Validierung der Integrität ihres Repositorys verwendet wird. In diesem Fall zeigt apt einen Fehler an, wenn mit ihm interagiert wird. Um dieses potenzielle Problem zu beheben, können Sie /google/scripts/refresh-preinstalled-apt-keys.sh verwenden. Damit werden die neuesten Versionen der vorinstallierten öffentlichen Schlüssel abgerufen und neu importiert.

Sie können dieses Skript auch direkt in Ihrem benutzerdefinierten Dockerfile ausführen, bevor Sie apt-get update ausführen:

# Refresh the preinstalled APT keys
RUN /google/scripts/refresh-preinstalled-apt-keys.sh

RUN apt-get update

Installierte IDE-Versionen auflisten

In einigen Cloud Workstations-Basis-Images ist eine IDE vorinstalliert. Das enthaltene Skript /google/scripts/preinstalled-ide-versions.sh listet den Namen und die Versionsinformationen der im Image installierten IDEs auf.

sudo-Root-Berechtigungen deaktivieren

Der Standardnutzer der Workstation hat in diesen Containern sudo-Root-Zugriffsberechtigungen. Wenn Sie den Root-Zugriff auf den Docker-Container deaktivieren möchten, legen Sie beim Erstellen der Workstationkonfiguration die Umgebungsvariable CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO auf true fest.

So legen Sie diese Umgebungsvariable über die Google Cloud Konsole fest, wenn Sie Ihre Workstationkonfiguration erstellen:

  1. Wenn Sie Ihre Workstationkonfiguration erstellen, füllen Sie die Konfiguration für „Grundlegende Informationen“ und „Maschinenkonfiguration“ aus.
  2. Maximieren Sie im Dialogfeld Umgebung anpassen den Abschnitt Erweiterte Containeroptionen und wählen Sie Umgebungsvariablen aus.
  3. Klicken Sie auf **Variable hinzufügen**.
  4. Geben Sie CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO und true als Wert ein.

Anpassen ohne Erweiterung eines Images

Alle Cloud Workstations-Basis-Images prüfen, ob eine ausführbare Datei unter /home/user/.workstation/customize_environment vorhanden ist. Wenn sie vorhanden ist, wird sie im Hintergrund als user ausgeführt. So können Sie beim Start ein beliebiges Skript oder eine beliebige Binärdatei ausführen. Anders als bei .profile oder .bashrc wird das Skript nur einmal beim Start der Workstation ausgeführt und nicht einmal für jede Shell-Anmeldung.

Da das Skript customize_environment als user ausgeführt wird, müssen Sie die Berechtigungen beim Schreiben des Skripts entsprechend aktualisieren. Wenn Sie beispielsweise Emacs jedes Mal installieren möchten, wenn Ihre Workstation gestartet wird, könnte der Inhalt von customize_environment so aussehen:

#!/bin/bash
sudo apt-get update
sudo apt-get install -y emacs

Ausführungsprotokolle für customize_environment finden Sie im Container unter /var/log/customize_environment und sie werden auch in die Ausgabeprotokolle des Containers geschrieben. Bei erfolgreicher Ausführung von customize_environment wird eine Datei in /var/run/customize_environment_done erstellt. Da customize_environment parallel zum Start der Workstation ausgeführt wird, können Pakete, die vom Skript installiert wurden, bereits wenige Augenblicke nach dem Start der Workstation verfügbar sein.

Leerlauftimeouts verhindern

Alle Cloud Workstations-Basis-Images enthalten ein vorinstalliertes Skript unter /google/scripts/keep_alive.sh. Dieses Skript sendet regelmäßig Keep-Alive-Nachrichten, die verhindern können, dass die Workstation aufgrund von Leerlauftimeouts heruntergefahren wird, wenn Sie Hintergrundprozesse ohne direkte Interaktion ausführen.

Inaktive Zeitlimits mit KI-Agents verhindern

Außerdem enthalten Cloud Workstations-Basis-Images Beispielkonfigurationsskripts für Agents unter /google/samples/agents/keepalive/. Mit diesen Beispielkonfigurationen können Sie KI-Codierungs-Agents (z. B. Claude Code und Antigravity CLI) in der Workstation so konfigurieren, dass die Workstation automatisch aktiv bleibt, während sie aktiv an Aufgaben arbeiten. Wenn der Agent seine Aufgaben beendet oder pausiert, um auf eine Nutzereingabe zu warten, sendet das Skript keine Keep-Alive-Nachrichten mehr, sodass die Workstation aufgrund von Inaktivität beendet werden kann. Diese Konfigurationen funktionieren am besten, wenn die Workstationkonfiguration so festgelegt ist, dass die Workstation angehalten wird (idleAction auf SUSPEND gesetzt). So kann die Workstation den Speicherstatus speichern und nahtlos fortgesetzt werden, wenn Sie zurückkehren.

Weitere Informationen zum Einrichten von agentgestützten Workflows und Keep-Alive-Hooks finden Sie unter Agentoptimierte Entwicklung.

Nächste Schritte