Google Cloud gestisce le seguenti immagini di base progettate per l'utilizzo con Cloud Workstations.
Elenco di immagini di base preconfigurate
Queste immagini possono essere utilizzate direttamente nelle configurazioni della workstation o come immagini di base per la creazione di immagini container personalizzate con il comando FROM
di Docker.
Image | Descrizione |
---|---|
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 | IDE CLion. Accessibile solo tramite JetBrains Gateway. Per informazioni sull'installazione e sulla configurazione iniziale, consulta Sviluppa il codice utilizzando gli IDE JetBrains locali. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/goland:latest | IDE GoLand. Accessibile solo tramite JetBrains Gateway. Per informazioni sull'installazione e sulla configurazione iniziale, consulta Sviluppa 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 JetBrains Gateway. Per informazioni sull'installazione e sulla configurazione iniziale, consulta Sviluppa il codice utilizzando gli IDE JetBrains locali. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/phpstorm:latest | IDE PhpStorm. Accessibile solo tramite JetBrains Gateway. Per informazioni sull'installazione e sulla configurazione iniziale, consulta Sviluppa il codice utilizzando gli IDE JetBrains locali. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/pycharm:latest | IDE PyCharm Professional. Accessibile solo tramite JetBrains Gateway. Per informazioni sull'installazione e sulla configurazione iniziale, consulta Sviluppa il codice utilizzando gli IDE JetBrains locali. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/rider:latest | IDE Rider. Accessibile solo tramite JetBrains Gateway. Per informazioni sull'installazione e sulla configurazione iniziale, consulta Sviluppa il codice utilizzando gli IDE JetBrains locali. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/rubymine:latest | IDE RubyMine. Accessibile solo tramite JetBrains Gateway. Per informazioni sull'installazione e sulla configurazione iniziale, consulta Sviluppa il codice utilizzando gli IDE JetBrains locali. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/webstorm:latest | IDE WebStorm. Accessibile solo tramite JetBrains Gateway. Per informazioni sull'installazione e sulla configurazione iniziale, consulta Sviluppa 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 Posit Workbench o con l'immagine 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 dell'entrypoint 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 alfabetico per inizializzare l'ambiente della stazione di lavoro.I file e il relativo comportamento sono i seguenti:
000_configure-docker.sh
: configura ed esegue Docker all'interno dellaworkstation.010_add-user.sh
: crea l'utente predefinito in Cloud Workstations.Poiché il disco permanente è collegato dinamicamente al contenitore, gli utenti devono essere aggiunti all'avvio della workstation, non nel file Dockerfile.
020_start-sshd.sh
: avvia il serviziosshd
nel contenitore.110_start-$IDE.sh
: avvia l'IDE per l'immagine.
Cloud Workstations archivia le immagini Docker nella home directory al percorso
/home/.docker_data
in modo che vengano conservate tra le sessioni.
Per aggiungere funzionalità aggiuntive durante l'avvio della workstation, aggiungi gli script nella directory /etc/workstation-startup.d/
:
Gli script in questa directory vengono eseguiti come root per impostazione predefinita. Per eseguire gli script come un altro utente, utilizza il comando
runuser
.Poiché gli script vengono eseguiti in ordine alfabetico, ti consigliamo di anteporre agli script 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 dinamicamente al contenitore in fase di esecuzione. Questo processo sovrascrive
le modifiche apportate alla directory /home
al momento della creazione dell'immagine container.
Per conservare gli aggiornamenti, modifica la directory /home
in fase di esecuzione del contenitore
aggiungendo uno script nella directory /etc/workstation-startup.d
o
aggiungendo una configurazione per utente nella directory /etc/profile.d
.
Per velocizzare la procedura, ti consigliamo di eseguire lo script di configurazione come processo in background (aggiungi un &, &
, alla fine del comando) per evitare di bloccare l'avvio del contenitore.
Alcuni esempi di configurazione in fase di compilazione che devono essere spostati nel runtime del contenitore:
- Configurazione di
git
per utente git
repository clonati nella home directory- Configurazione diretta dell'utente, ad esempio il posizionamento dei file in una directory
$HOME/.config
- Creazione utente
Creazione e modifica degli utenti
Poiché il disco permanente si collega dinamicamente al contenitore in fase di esecuzione, gli utenti devono essere aggiunti all'avvio della stazione di lavoro, non nel file Dockerfile. Per modificare
o creare utenti aggiuntivi, ti consigliamo di aggiornare
/etc/workstation-startup.d/010_add-user.sh
o
di creare il tuo script che viene eseguito all'avvio.
Inoltre, puoi modificare il profilo bash predefinito per gli utenti aggiornando
i file in /etc/profile.d
.
Aggiorna le chiavi APT sicure preconfigurate
Le immagini di base di Cloud Workstations sono preinstallate con una serie di strumenti ottenuti da vari repository di terze parti utilizzando Secure APT. Nell'ambito della procedura 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 dai file list
corrispondenti in /etc/apt/sources.list.d/
.
In questo modo, apt
può verificare l'integrità di un determinato repository quando interagisce con esso.
A volte, i proprietari di repository di terze parti possono decidere di modificare la chiave pubblica utilizzata per convalidare l'integrità del proprio repository, il che causa un errore in apt
quando interagisce con il repository. Per risolvere questo potenziale problema,
puoi utilizzare /google/scripts/refresh-preinstalled-apt-keys.sh
, che
ottiene le versioni più recenti delle chiavi pubbliche preinstallate e le importa di nuovo.
Elenco delle versioni dell'IDE installate
Diverse immagini di base di Cloud Workstations sono preinstallate con un IDE. Per comodità, consulta lo script /google/scripts/preinstalled-ide-versions.sh
incluso, che elenca il nome e le informazioni sulla versione degli IDE installati nell'immagine.
Disattivare i privilegi di sudo
root
L'utente della stazione di lavoro predefinita dispone dei privilegi di accesso root sudo
in questi
contenuti. Per disattivare l'accesso come utente root al container Docker, imposta la variabile di ambiente CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO
su true
durante la creazione della configurazione della workstation.
Per impostare questa variabile di ambiente tramite la console Google Cloud durante la creazione della configurazione della workstation:
- 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 container avanzate e seleziona Variabili di ambiente.
- Fai clic su AggiungiAggiungi variabile.
- Inserisci
CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO
etrue
come valore.
Passaggi successivi
- Personalizzare le immagini container.
- Automatizza le ricostruzioni delle immagini container per sincronizzare gli aggiornamenti delle immagini di base utilizzando Cloud Build e Cloud Scheduler.
- Configurare le best practice per la sicurezza.