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 densshd
-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 Nutzergit
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:
- Schließen Sie beim Erstellen der Workstationkonfiguration die Konfiguration für die allgemeinen Informationen und die Maschinenkonfiguration ab.
- Maximieren Sie im Dialogfeld Umgebungsanpassung den Bereich Erweiterte Containeroptionen und wählen Sie Umgebungsvariablen aus.
- Klicken Sie auf HinzufügenVariable hinzufügen.
- Geben Sie
CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO
undtrue
als Wert ein.
Nächste Schritte
- Container-Images anpassen
- Automatisieren Sie die Neuerstellung von Container-Images, um Basis-Image-Updates mit Cloud Build und Cloud Scheduler zu synchronisieren.
- Best Practices für die Sicherheit einrichten