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 verwendet 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 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/clion:latest CLion IDE Nur über JetBrains Gateway zugänglich.
Informationen zur Installation und zum Einstieg 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 zum Einstieg 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 zum Einstieg 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 zum Einstieg 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 zum Einstieg 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 zum Einstieg 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 zum Einstieg 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 zum Einstieg finden Sie unter Code mit lokalen JetBrains-IDEs entwickeln.

Liste der Basisbilder von Drittanbietern

Drittanbieterbild 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 dem Posit Workbench-Container-Image auftreten, melden Sie sie bitte an Posit auf GitHub.

Struktur des Cloud Workstations-Basis-Images

Cloud Workstations-Basis-Images haben die folgende Struktur:

  • Die Datei mit dem Basis-Image-Einstiegspunkt ist auf /google/scripts/entrypoint.sh festgelegt.
  • Beim Starten führen Basis-Images Dateien unter /etc/workstation-startup.d/* in lexikalischer Reihenfolge aus, um die Workstation-Umgebung zu initialisieren.

    Die Dateien und ihr Verhalten sind:

    • 000_configure-docker.sh: Docker wird auf der Workstation konfiguriert und ausgeführt.
    • 010_add-user.sh: Erstellt den Standardnutzer in Cloud Workstations.

      Da die persistente Festplatte dynamisch an den Container angehängt wird, müssen Nutzer beim Starten der Workstation hinzugefügt werden, nicht in der Dockerfile.

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

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

  • In Cloud Workstations werden Docker-Images im Basisverzeichnis unter /home/.docker_data gespeichert, damit sie zwischen Sitzungen erhalten bleiben.

Wenn Sie beim Starten der Workstation zusätzliche Funktionen hinzufügen möchten, fügen Sie Ihre Scripts in das Verzeichnis /etc/workstation-startup.d/ ein:

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

  • Da Scripts in lexikalischer Reihenfolge ausgeführt werden, empfehlen wir, den Scripts eine dreistellige Zahl vorangestellt zu geben, die größer als 200 ist.

Änderungen am Basisverzeichnis

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

Wenn Sie Updates beibehalten möchten, ändern Sie das Verzeichnis /home während der Containerlaufzeit. Fügen Sie dazu ein Script in das Verzeichnis /etc/workstation-startup.d oder eine benutzerspezifische Konfiguration in das Verzeichnis /etc/profile.d hinzu. Um den Vorgang zu beschleunigen, können Sie das Einrichtungsskript als Hintergrundprozess ausführen. Fügen Sie dazu am Ende des Befehls ein kaufmännisches Undzeichen & hinzu, um den Containerstart nicht zu blockieren.

Beispiele für Konfigurationen zur Buildzeit, die in die Containerlaufzeit verschoben werden sollten:

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

Nutzer erstellen und ändern

Da die persistente Festplatte während der Laufzeit dynamisch an den Container angehängt wird, müssen Nutzer beim Starten der Workstation hinzugefügt werden, nicht in der Dockerfile. 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 Script 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

Die Basis-Images von Cloud Workstations sind mit einer Reihe von Tools vorinstalliert, die über Secure APT aus verschiedenen Repositories von Drittanbietern abgerufen wurden. Im Rahmen der Installation werden die von den Repository-Inhabern bereitgestellten öffentlichen Schlüssel mit gpg importiert und in einzelne Dateien unter /usr/share/keyrings/ abgelegt. Auf diese Dateien wird in den entsprechenden list-Dateien unter /etc/apt/sources.list.d/ verwiesen. So kann apt die Integrität eines bestimmten Repositories bei der Interaktion mit ihm überprüfen.

Gelegentlich ändern Repository-Inhaber von Drittanbietern den öffentlichen Schlüssel, der zur Validierung der Integrität ihres Repositorys verwendet wird. In diesem Fall zeigt apt bei der Interaktion mit dem Repository einen Fehler an. Sie können /google/scripts/refresh-preinstalled-apt-keys.sh verwenden, um dieses potenzielle Problem zu beheben. Mit diesem Tool werden die neuesten Versionen der vorinstallierten öffentlichen Schlüssel abgerufen und wieder importiert.

Installierte IDE-Versionen auflisten

Auf mehreren Cloud Workstations-Basis-Images ist eine IDE vorinstalliert. Im enthaltenen /google/scripts/preinstalled-ide-versions.sh-Script finden Sie den Namen und die Versionsinformationen der im Image installierten IDEs.

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, setzen Sie die Umgebungsvariable CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO beim Erstellen der Workstation-Konfiguration auf true.

So legen Sie diese Umgebungsvariable beim Erstellen der Workstationkonfiguration über die Google Cloud Console fest:

  1. Führen Sie beim Erstellen der Workstation-Konfiguration die Konfiguration für die allgemeinen Informationen und die Maschinenkonfiguration durch.
  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