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 densshd
-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:
- Führen Sie beim Erstellen der Workstation-Konfiguration die Konfiguration für die allgemeinen Informationen und die Maschinenkonfiguration durch.
- 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
- Automatische Neuaufbaue von Container-Images, um Basis-Image-Updates mit Cloud Build und Cloud Scheduler zu synchronisieren.
- Best Practices für die Sicherheit einrichten