Google Cloud gestisce le seguenti immagini di base progettate per essere utilizzate con Cloud Workstations.
Elenco di immagini di base preconfigurate
Queste immagini possono essere utilizzate direttamente nelle configurazioni di workstation oppure come immagini di base durante la creazione di immagini container personalizzate con il comando FROM
di Docker.
Image | Description |
---|---|
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest | Editor di base di Cloud Workstations, Code OSS per Cloud Workstations, basato su Code-OSS. (Valore predefinito) |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/base:latest | Immagine di base senza IDE installato. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/clion:latest | CLion IDE. Accessibile solo tramite il gateway JetBrains. Per informazioni sull'installazione e su come iniziare, consulta Sviluppare il codice utilizzando gli IDE JetBrains locali. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/goland:latest | IDE GoLand. Accessibile solo tramite il gateway JetBrains. Per informazioni sull'installazione e su come iniziare, consulta Sviluppare il codice utilizzando gli IDE JetBrains locali. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/intellij-ultimate:latest | IDE IntelliJ IDEA Ultimate. Accessibile solo tramite il gateway JetBrains. Per informazioni sull'installazione e su come iniziare, consulta Sviluppare il codice utilizzando gli IDE JetBrains locali. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/phpstorm:latest | IDE PhpStorm. Accessibile solo tramite il gateway JetBrains. Per informazioni sull'installazione e su come iniziare, consulta Sviluppare il codice utilizzando gli IDE JetBrains locali. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/pycharm:latest | IDE PyCharm Professional. Accessibile solo tramite il gateway JetBrains. Per informazioni sull'installazione e su come iniziare, consulta Sviluppare il codice utilizzando gli IDE JetBrains locali. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/rider:latest | IDE Rider. Accessibile solo tramite il gateway JetBrains. Per informazioni sull'installazione e su come iniziare, consulta Sviluppare il codice utilizzando gli IDE JetBrains locali. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/rubymine:latest | IDE RubyMine. Accessibile solo tramite il gateway JetBrains. Per informazioni sull'installazione e su come iniziare, consulta Sviluppare il codice utilizzando gli IDE JetBrains locali. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/webstorm:latest | IDE WebStorm. Accessibile solo tramite il gateway JetBrains. Per informazioni sull'installazione e su come iniziare, consulta Sviluppare il codice utilizzando gli IDE JetBrains locali. |
Elenco di immagini di base di terze parti
Immagine di terze parti | Fornitore di terze parti |
---|---|
us-central1-docker.pkg.dev/posit-images/cloud-workstations/workbench:latest | Posit Workbench (incluso RStudio Pro) |
Se riscontri problemi con l'IDE di Posit Workbench o con l'immagine del container Posit Workbench, segnalali a Posit su GitHub.
Struttura dell'immagine di base di Cloud Workstations
Le immagini di base di Cloud Workstations condividono la seguente struttura definita:
- Il file del punto di ingresso dell'immagine di base è impostato su
/google/scripts/entrypoint.sh
. All'avvio, le immagini di base eseguono i file in
/etc/workstation-startup.d/*
in ordine lessicografico per inizializzare l'ambiente di workstation.Di seguito sono riportati i file e il relativo comportamento:
000_configure-docker.sh
: configura ed esegue Docker all'interno della workstation.010_add-user.sh
: crea l'utente predefinito in Cloud Workstations.Poiché il disco permanente è collegato in modo dinamico al container, gli utenti devono essere aggiunti all'avvio della workstation, non nel Dockerfile.
020_start-sshd.sh
: avvia il serviziosshd
nel container.110_start-$IDE.sh
: avvia l'IDE per l'immagine.
Cloud Workstations archivia le immagini Docker nella home directory in
/home/.docker_data
in modo che vengano conservate tra una sessione e l'altra.
Per aggiungere funzionalità aggiuntive durante l'avvio della workstation, aggiungi i tuoi script nella directory /etc/workstation-startup.d/
:
Gli script in questa directory vengono eseguiti come root per impostazione predefinita. Per eseguire gli script come utente diverso, utilizza il comando
runuser
.Poiché gli script vengono eseguiti in ordine lessicografico, consigliamo di precederli con un numero di tre cifre maggiore di 200.
Modifiche alla home directory
Quando la configurazione della workstation specifica una home directory permanente (che è il comportamento predefinito), un disco permanente che supporta la home directory viene collegato in modo dinamico al container in fase di runtime. Questo processo sovrascrive le modifiche apportate alla directory /home
al momento della creazione dell'immagine container.
Per conservare gli aggiornamenti, modifica la directory /home
durante il runtime del container aggiungendo uno script nella directory /etc/workstation-startup.d
oppure aggiungendo una configurazione per utente alla directory /etc/profile.d
.
Per velocizzare il processo, valuta la possibilità di eseguire lo script di configurazione come processo in background (aggiungi una e commerciale, &
, alla fine del comando) per evitare di bloccare l'avvio del container.
Ecco alcuni esempi di configurazione in fase di build che deve essere spostata nel runtime del container:
- Configurazione
git
per utente git
repository clonati nella home directory- Configurazione dell'utente diretto, ad esempio l'inserimento di file in una directory
$HOME/.config
- Creazione utente
Creazione e modifica utenti
Poiché il disco permanente si collega dinamicamente al container in fase di runtime, gli utenti devono essere aggiunti all'avvio della workstation, non nel Dockerfile. Per modificare o creare altri utenti, ti consigliamo di aggiornare /etc/workstation-startup.d/010_add-user.sh
o creare un tuo script da eseguire all'avvio.
Inoltre, puoi modificare il profilo bash predefinito per gli utenti aggiornando i file in /etc/profile.d
.
Aggiorna chiavi APT sicure preconfigurate
Nelle immagini di base di Cloud Workstations sono preinstallati una serie di strumenti ottenuti da vari repository di terze parti che utilizzano APT sicuro. Nell'ambito del processo di installazione, le chiavi pubbliche fornite dai proprietari del repository vengono importate utilizzando gpg
e inserite in singoli file in /usr/share/keyrings/
. A questi file viene fatto riferimento nei file list
corrispondenti in /etc/apt/sources.list.d/
.
In questo modo apt
può verificare l'integrità di un determinato repository durante l'interazione con il repository.
A volte, i proprietari di repository di terze parti possono decidere di modificare la chiave pubblica
utilizzata per convalidare l'integrità del proprio repository e, di conseguenza, in apt
viene visualizzato un errore durante l'interazione. Per risolvere questo potenziale problema, puoi utilizzare /google/scripts/refresh-preinstalled-apt-keys.sh
, che riceve le versioni più recenti delle chiavi pubbliche preinstallate e le reimporta.
Elenca le versioni dell'IDE installate
Diverse immagini di base di Cloud Workstations sono preinstallate su un IDE. Per praticità, consulta lo script /google/scripts/preinstalled-ide-versions.sh
incluso, che elenca il nome e le informazioni sulla versione degli IDE installati nell'immagine.
Disattiva privilegi root di sudo
L'utente della workstation predefinito ha sudo
privilegi di accesso root in questi container. Per disattivare l'accesso root al container Docker, imposta la variabile di ambiente CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO
su true
quando crei la configurazione della workstation.
Per impostare questa variabile di ambiente tramite la console Google Cloud durante la creazione della configurazione della workstation, segui questi passaggi:
- Quando crei la configurazione della workstation, completa la configurazione per le informazioni di base e la configurazione della macchina.
- Nella finestra di dialogo Personalizzazione dell'ambiente, espandi la sezione Opzioni avanzate per i container e seleziona Variabili di ambiente.
- Fai clic su aggiungiAggiungi variabile.
- Inserisci
CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO
etrue
come valore.
Passaggi successivi
- Personalizza le immagini container.
- Automatizza le ricostruzioni delle immagini container per sincronizzare gli aggiornamenti delle immagini di base utilizzando Cloud Build e Cloud Scheduler.
- Configura le best practice per la sicurezza.