Vorkonfigurierte Basis-Images

Google Cloud verwaltet die folgenden Basis-Images, die für die Verwendung mit Cloud Workstations entwickelt wurden.

Liste der vorkonfigurierten Basis-Images

Diese Images können direkt in Workstation-Konfigurationen oder als Basis-Images beim Erstellen von benutzerdefinierten Container-Images mit dem Befehl FROM von Docker verwendet werden.

Image Beschreibung
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest Basiseditor von Cloud Workstations, Code OSS für Cloud Workstations, basierend auf Code-OSS. (Standard)
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/base:latest Basis-Image ohne IDE installiert.
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 Fahrer-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 der Basis-Images von Drittanbietern

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

Wenn Probleme mit der Posit Workbench-IDE oder mit dem Container-Image von Posit Workbench auftreten, melden Sie diese auf GitHub an Posit.

Struktur des Basis-Images von Cloud Workstations

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

  • Die Basis-Image-Einstiegspunktdatei ist auf /google/scripts/entrypoint.sh festgelegt.
  • Beim Start führen Basis-Images Dateien unter /etc/workstation-startup.d/* in lexikografischer Reihenfolge aus, um die Workstationumgebung zu initialisieren.

    Die Dateien verhalten sich wie folgt:

    • 000_configure-docker.sh: Konfiguriert Docker und führt es auf 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 hinzugefügt werden, nicht im Dockerfile.

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

    • 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 in das Verzeichnis /etc/workstation-startup.d/ ein:

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

  • Da Skripts in lexikografischer Reihenfolge ausgeführt werden, empfehlen wir, sie mit einer dreistelligen Zahl größer als 200 zu versehen.

Basisverzeichnis-Änderungen

Wenn in der Workstationkonfiguration ein nichtflüchtiges Basisverzeichnis angegeben ist (Standardverhalten), wird ein nichtflüchtiger Speicher zur Sicherung des Basisverzeichnisses zur Laufzeit dynamisch an den Container angehängt. Dieser Prozess überschreibt Änderungen, die zum Zeitpunkt der Erstellung des Container-Images am Verzeichnis /home vorgenommen wurden.

Damit die Aktualisierungen beibehalten werden, ändern Sie das Verzeichnis /home zur Containerlaufzeit. Fügen Sie dazu ein Skript im Verzeichnis /etc/workstation-startup.d hinzu oder fügen Sie eine nutzerspezifische Konfiguration im Verzeichnis /etc/profile.d hinzu. Sie können den Vorgang beschleunigen, indem Sie das Einrichtungsskript als Hintergrundprozess ausführen (fügen Sie am Ende des Befehls das Und-Zeichen & hinzu), damit der Containerstart nicht blockiert wird.

Einige Beispiele für die Konfiguration der Build-Zeit, die in die Containerlaufzeit verschoben werden sollte:

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

Erstellung und Änderung von Nutzern

Da der nichtflüchtige Speicher zur Laufzeit dynamisch an den Container angehängt wird, müssen Nutzer beim Start der Workstation hinzugefügt werden, nicht im Dockerfile. Wenn Sie zusätzliche Nutzer ändern oder erstellen möchten, sollten Sie /etc/workstation-startup.d/010_add-user.sh aktualisieren oder ein eigenes Skript 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 sichere APT-Schlüssel aktualisieren

Auf den Basis-Images von Cloud Workstations ist eine Reihe von Tools vorinstalliert, die mithilfe von Secure APT aus verschiedenen Repositories von Drittanbietern abgerufen wurden. Im Rahmen des Installationsvorgangs werden die von den Repository-Inhabern bereitgestellten öffentlichen Schlüssel mit gpg importiert und in einzelnen Dateien unter /usr/share/keyrings/ platziert. Auf diese Dateien wird in den entsprechenden list-Dateien unter /etc/apt/sources.list.d/ verwiesen. Dadurch kann apt die Integrität eines bestimmten Repositorys bei der Interaktion damit prüfen.

Gelegentlich beschließen die Inhaber von Drittanbieter-Repositories, den öffentlichen Schlüssel zu ändern, mit dem die Integrität ihres Repositorys validiert wird. Dies führt dazu, dass apt bei der Interaktion mit dem Repository einen Fehler anzeigt. Sie können dieses potenzielle Problem beheben, indem Sie /google/scripts/refresh-preinstalled-apt-keys.sh verwenden. Damit werden die neuesten Versionen vorinstallierter öffentlicher Schlüssel abgerufen und neu importiert.

Installierte IDE-Versionen auflisten

Auf mehreren Basis-Images von Cloud Workstations ist eine IDE vorinstalliert. Der Einfachheit halber finden Sie im enthaltenen /google/scripts/preinstalled-ide-versions.sh-Skript die Namen und Versionsinformationen der IDEs, die im Image installiert sind.

Root-Berechtigungen für sudo deaktivieren

Der Nutzer der Standardworkstation hat in diesen Containern Root-Zugriffsberechtigungen vom Typ sudo. 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 Console beim Erstellen Ihrer Workstationkonfiguration fest:

  1. Schließen Sie beim Erstellen der Workstationkonfiguration die Konfiguration für die allgemeinen Informationen und die Maschinenkonfiguration ab.
  2. Maximieren Sie im Dialogfeld Umgebungsanpassung den Bereich Erweiterte Containeroptionen und wählen Sie Umgebungsvariablen aus.
  3. Klicken Sie auf HinzufügenVariable hinzufügen.
  4. Geben Sie CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO und true als Wert ein.

Nächste Schritte