La
immagini di base preconfigurate
fornite da Cloud Workstations contengono solo un ambiente minimo con IDE,
strumenti per il linguaggio e il terminale Linux di base e un server sshd
. Per velocizzare il
di casi d'uso specifici per lo sviluppo, puoi creare
immagini container che estendono queste immagini di base a strumenti di preinstallazione
ed eseguire script di automazione.
Per le immagini container personalizzate, consigliamo di configurare una pipeline per ricreare l'immagine quando l'immagine di base di Cloud Workstations viene aggiornata, oltre a eseguire uno strumento di scansione dei container come Artifact Analysis per e controllare eventuali dipendenze aggiuntive che hai aggiunto. Sei responsabile la manutenzione e l'aggiornamento di pacchetti e dipendenze personalizzati aggiunti alle immagini personalizzate.
Prima di iniziare
Hai bisogno di una macchina con strumenti per creare immagini container come Docker e per il push di immagini Artifact Registry (o Container Registry) utilizzando Google Cloud CLI. Puoi utilizzare Cloud Workstations o l'editor di Cloud Shell per eseguire questi passaggi, in cui gli strumenti sono preinstallati.
Seleziona l'immagine di base che vuoi utilizzare dalla nostra elenco di immagini di base supportate, come
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest
.In alternativa, puoi utilizzare la tua immagine container o immagini container esterne seguendo le istruzioni per utilizzare la tua immagine container.
Crea una cartella come
CUSTOM_IMAGE_FOLDER
e un file Dockerfile all'interno di questa cartella che estende l'immagine di base selezionata, come mostrato in gli esempi che seguono.
Struttura delle immagini 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 l'ordine lessicografico per inizializzare l'ambiente di workstation.I file e il relativo comportamento sono i seguenti:
000_configure-docker.sh
: configura ed esegue Docker all'interno la workstation.010_add-user.sh
: crea l'utente predefinito in Cloud Workstations.Poiché il disco permanente viene collegato dinamicamente al container, gli utenti devono essere aggiunti all'avvio della workstation, non nel 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 su
/home/.docker_data
, in modo che le immagini vengano mantenute tra una sessione e l'altra.
Per aggiungere funzionalità aggiuntive durante l'avvio della workstation, aggiungi i tuoi script nella
nella directory /etc/workstation-startup.d/
:
Gli script in questa directory vengono eseguiti come root per impostazione predefinita. Eseguire gli script come un altro utente, usa il comando
runuser
.Poiché gli script vengono eseguiti in ordine grammaticale, ti consigliamo di far precedere gli script da un numero di tre cifre maggiore di 200.
Modifiche della 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
modifiche apportate alla directory /home
al momento della creazione dell'immagine container.
Per mantenere gli aggiornamenti, modifica la directory /home
al runtime del container
aggiungendo uno script nella directory /etc/workstation-startup.d
,
oppure aggiungendo una configurazione per utente nella directory /etc/profile.d
.
Per velocizzare il processo, valuta la possibilità di eseguire lo script di configurazione in background
(aggiungi la e commerciale &
alla fine del comando) per evitare
che blocca l'avvio del container.
Alcuni esempi di configurazione in fase di compilazione che devono essere spostati nel runtime del contenitore:
- Configurazione di
git
per utente git
repository clonato nella home directory- Configurazione diretta dell'utente, ad esempio inserendo file in una directory
$HOME/.config
- Creazione utente
Creazione e modifica degli utenti
Poiché il disco permanente si collega in modo dinamico al container in fase di runtime,
gli utenti devono essere aggiunti all'avvio della workstation, non nel 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 dell'installazione
processo, le chiavi pubbliche fornite dai proprietari del repository vengono importate utilizzando gpg
e collocati in singoli file al di sotto di /usr/share/keyrings/
. Questi file sono
a cui 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
a interagire con quest'ultima.
A volte, i proprietari di repository di terze parti possono decidere di modificare la chiave pubblica
utilizzata per convalidare l'integrità del repository, il che fa sì che apt
visualizzare un errore durante l'interazione. Per risolvere questo potenziale problema,
puoi usare /google/scripts/refresh-preinstalled-apt-keys.sh
, che
ottiene le ultime versioni delle chiavi pubbliche preinstallate e le reimporta.
Elenca le versioni IDE installate
Un IDE è preinstallato in diverse immagini base di Cloud Workstations. Per
per praticità, consulta le /google/scripts/preinstalled-ide-versions.sh
incluse
che elenca le informazioni sul nome e sulla versione degli IDE installati
dell'immagine.
Disattiva i privilegi root di sudo
L'utente predefinito della workstation dispone di sudo
privilegi di accesso root in queste
containerizzati. Per disattivare l'accesso root al container Docker, imposta il valore
CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO
variabile di ambiente
a true
durante la creazione della configurazione della workstation.
Per impostare questa variabile di ambiente tramite la console Google Cloud durante la creazione configurazione della workstation, segui questi passaggi:
- Quando crei la configurazione della workstation, completa la configurazione per Informazioni di base e Configurazione macchina.
- Nella finestra di dialogo Personalizzazione dell'ambiente, espandi la sezione Opzioni avanzate del contenitore e seleziona Variabili di ambiente.
- Fai clic su AggiungiAggiungi variabile.
- Inserisci
CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO
etrue
come valore.
Utilizza la tua immagine container
Puoi anche utilizzare la tua immagine container o utilizzare immagini container esterne, purché siano basati su Linux ed eseguano un processo di blocco quando il container .
Durante la configurazione del Dockerfile, l'istruzione ENTRYPOINT
deve eseguire un'operazione
processo di blocco come sleep infinity
, in modo che il container continui
l'esecuzione, invece di uscire immediatamente. In alternativa, nella workstation
puoi impostare il campo config.container.args
per specificare
di blocco note.
Quando utilizzi la tua immagine container, tieni presente quanto segue:
Cloud Workstations non richiede script aggiuntivi dall'immagine di base di Cloud Workstations.
Tuttavia, puoi consultare gli script nella
/etc/workstation-startup.d/
all'interno di un container che esegue l'immagine di base di Cloud Workstations. I nomi file indicano lo scopo di ogni script.Ti consigliamo di eseguire un server SSH nel container. Consulta
/etc/workstation-startup.d/020_start-sshd.sh
nel valore predefinito immagine di base per scoprire come Cloud Workstations configura questa configurazione per impostazione predefinita.Ti consigliamo di eseguire l'IDE o il server web predefinito sulla porta
80
.
Estendi le immagini di base di Cloud Workstations
Quando estendi un'immagine di base di Cloud Workstations per creare un'immagine personalizzata dell'ambiente workstation, puoi adottare tre approcci:
- Aggiorna
Dockerfile
per includere eventuali asset statici aggiuntivi che che vuoi aggiungere. - Aggiungi altri file eseguibili in
/etc/workstation-startup.d/
a personalizzare il container in esecuzione. I file in questa directory vengono impostati automaticamente vengono eseguiti in ordine lessicografico all'avvio del container, in modo da poter inserire un prefisso il nome file per eseguirlo nel momento appropriato durante l'avvio della workstation. - Esegui l'override di
ENTRYPOINT
nel Dockerfile per personalizzare completamente l'avvio del container.
Dockerfile personalizzati di esempio
Questa sezione fornisce scenari di esempio e istruzioni per creare i tuoi Dockerfile.
Immagine container con emacs
preinstallato
Per creare un'immagine container con emacs
preinstallato, esegui questo comando
:
FROM us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest
RUN sudo apt update
RUN sudo apt install -y emacs
Immagine container con personalizzazione dell'utente
Per personalizzare un'immagine container:
Crea uno script in
/etc/workstation-startup.d/*
che venga eseguito dopo010_add-user.sh
, ad esempio011_customize-user.sh
:#!/bin/bash # Create new group groupadd $GROUP # Add the user to a new group usermod -a -G $GROUP $USERNAME
Sostituisci
$GROUP
con il nuovo nome del gruppo e$USERNAME
con il nome utente dell'utente.Supponendo che tu abbia denominato lo script,
011_customize-user.sh
, aggiungi il all'immagine nel Dockerfile e rendilo eseguibile:FROM us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest COPY 011_customize-user.sh /etc/workstation-startup.d/ RUN chmod +x /etc/workstation-startup.d/011_customize-user.sh
Immagine container che imposta le variabili di ambiente del container nelle sessioni SSH
Variabili di ambiente impostate a livello di configurazione di workstation o di workstation vengono passate ai processi secondari diretti usando il comando del punto di ingresso. Sono inclusi IDE nelle immagini di base preconfigurate. Tuttavia, le sessioni SSH non sono i processi del punto di ingresso e non hanno questo ambiente personalizzato insieme di variabili.
Per impostare queste variabili di ambiente nelle sessioni SSH, configura un
che inoltra queste variabili di ambiente dall'immagine
al file /etc/environment
.
Per farlo, segui questi passaggi:
Crea uno script in
/etc/workstation-startup.d/*
che venga eseguito dopo010_add-user.sh
, ad esempio011_add-ssh-env-variables.sh
:#!/bin/bash # echo "CUSTOM_ENV_VAR=$CUSTOM_ENV_VAR" >> /etc/environment
Sostituisci
CUSTOM_ENV_VAR
con la variabile di ambiente prevista nome.Supponendo che tu abbia denominato lo script,
011_add-ssh-env-variables.sh
, aggiungi il all'immagine nel Dockerfile e rendilo eseguibile:FROM us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest COPY 011_add-ssh-env-variables.sh /etc/workstation-startup.d/ RUN chmod +x /etc/workstation-startup.d/011_add-ssh-env-variables.sh
Immagine container che abilita l'inoltro X11 per le sessioni SSH
L'inoltro X11 consente di avviare applicazioni remote e inoltrare l'applicazione a un computer locale.
Per creare un'immagine container che abilita l'inoltro X11, modifica il daemon OpenSSH
file di configurazione (/etc/ssh/sshd_config
) fornito dalle immagini di base di Cloud Workstations da
aggiungendo X11Forwarding yes
(per consentire l'inoltro X11) e AddressFamily inet
(per garantire che venga utilizzato solo IPv4). Per ulteriori informazioni su queste parole chiave, consulta il sito web OpenBSD
pagine relative a AddressFamily
e
X11Forwarding
.
Ecco un Dockerfile di esempio, che apporta le modifiche necessarie:
FROM us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest
# Permit X11 forwarding using only IPv4
RUN cat >> /etc/ssh/sshd_config <<-EOF
AddressFamily inet
X11Forwarding yes
EOF
Copiare Code OSS per Cloud Workstations in un'altra immagine contenitore
Una compilazione in più fasi ti consente di utilizzare più istruzioni FROM
nel tuo Dockerfile. Ogni istruzione di FROM
può utilizzare una base diversa e consente
e copiare gli artefatti tra le fasi di build. Per aggiungere Code OSS per Cloud Workstations a
un'altra immagine container usa una build in più fasi per copiare la cartella dell'applicazione
/opt/code-oss
nell'immagine. Se vuoi avviare Code OSS per Cloud Workstations
al momento dell'avvio del container, copia anche lo script /etc/workstation-startup.d/110_start-code-oss.sh
nel tuo container.
Ecco un Dockerfile di esempio che copia il codice OSS in JetBrains IntelliJ Immagine definitiva. Puoi quindi interagire con uno dei due IDE:
FROM us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest as code-oss-image
FROM us-central1-docker.pkg.dev/cloud-workstations-images/predefined/jetbrains-intellij:latest
# Copy Code OSS for Cloud Workstations and startup scripts into our custom image
COPY --from=code-oss-image /opt/code-oss /opt/code-oss
COPY --from=code-oss-image /etc/workstation-startup.d/110_start-code-oss.sh /etc/workstation-startup.d/110_start-code-oss.sh
# Use the existing entrypoint script which will execute all scripts in /etc/workstation-startup.d/
ENTRYPOINT ["/google/scripts/entrypoint.sh"]
Immagine container che preinstalla le estensioni IDE in Code OSS per Cloud Workstations per lo sviluppo Java
Per creare un'immagine container che preinstalla le estensioni IDE in Esegui il codice OSS per lo sviluppo di Cloud Workstations per Java in fase di creazione ed esegui questi comandi:
FROM us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest
RUN wget https://open-vsx.org/api/vscjava/vscode-java-debug/0.40.1/file/vscjava.vscode-java-debug-0.40.1.vsix && \
unzip vscjava.vscode-java-debug-0.40.1.vsix "extension/*" &&\
mv extension /opt/code-oss/extensions/java-debug
RUN wget https://open-vsx.org/api/vscjava/vscode-java-dependency/0.19.1/file/vscjava.vscode-java-dependency-0.19.1.vsix && \
unzip vscjava.vscode-java-dependency-0.19.1.vsix "extension/*" &&\
mv extension /opt/code-oss/extensions/java-dependency
RUN wget https://open-vsx.org/api/redhat/java/1.6.0/file/redhat.java-1.6.0.vsix && \
unzip redhat.java-1.6.0.vsix "extension/*" &&\
mv extension /opt/code-oss/extensions/redhat-java
RUN wget https://open-vsx.org/api/vscjava/vscode-maven/0.35.2/file/vscjava.vscode-maven-0.35.2.vsix && \
unzip vscjava.vscode-maven-0.35.2.vsix "extension/*" &&\
mv extension /opt/code-oss/extensions/java-maven
RUN wget https://open-vsx.org/api/vscjava/vscode-java-test/0.35.0/file/vscjava.vscode-java-test-0.35.0.vsix && \
unzip vscjava.vscode-java-test-0.35.0.vsix "extension/*" &&\
mv extension /opt/code-oss/extensions/java-test
Le estensioni preinstallate sono considerate estensioni integrate.
Non potrai aggiornare queste estensioni, che potrebbero non essere visualizzate in
alla sezione delle installazioni su
Marketplace delle estensioni.
Tuttavia, puoi trovare le estensioni integrate cercando
@builtin
.
Un altro modo per installare le estensioni all'avvio è eseguire un
script di avvio.
Ad esempio, includi il seguente script di avvio sotto
/etc/workstation-startup.d/120_install_extensions.sh
:
/opt/code-oss/bin/codeoss-cloudworkstations --install-extension vscjava.vscode-java-debug@0.40.1 \
--install-extension vscjava.vscode-java-dependency@0.19.1 \
--install-extension redhat.java@1.6.0 \
--install-extension vscjava.vscode-maven@0.35.2 \
--install-extension vscjava.vscode-java-test@0.35.0
Con questo metodo, l'estensione viene visualizzata su del Estensioni del Marketplace e tu aggiornamento.
Installa gli IDE e i plug-in JetBrains nelle immagini di base
Quando personalizzi le immagini Docker per le configurazioni di workstation, puoi installare IDE e plug-in JetBrains, come Cloud Code for IntelliJ, nell'immagine di base. Le immagini di base di Cloud Workstations per i prodotti JetBrains includono i seguenti script per aiutarti a:
jetbrains-installer.sh
: installa gli IDE JetBrainsplugin-installer.sh
: installa plug-in, ad esempio Cloud Code for IntelliJ
Utilizza questi script in base alle esigenze per personalizzare l'immagine di base, in modo da chiamarli con un di script di avvio o di eseguirli dopo l'avvio della workstation.
Script di installazione
Per visualizzare i file di origine per jetbrains-installer.sh
e
plugin-installer.sh
script, avvia una workstation utilizzando una workstation
che utilizza una delle immagini predefinite di JetBrains, connettiti
tramite il gateway JetBrains o SSH, quindi
i file di script nella directory installer-scripts
, che si trova nell'interfaccia
nella directory radice.
Ti consigliamo di eseguire questi script al momento della creazione del container. Evita di correre in una workstation già avviata.
Utilizza lo script del programma di installazione del plug-in
Lo script plugin-installer.sh
utilizza la seguente sintassi:
plugin-installer.sh [-v VERSION] [-d DESTINATION-DIRECTORY] [-c CHECKSUM] [-f] PLUGIN_ID
Sostituisci quanto segue:
VERSION
: numero di versione facoltativo del plug-in da installare.DESTINATION-DIRECTORY
: directory facoltativa in cui deve essere installato il plug-in. Se non specificato, viene utilizzata la directory di lavoro.CHECKSUM
: checksum SHA-256 facoltativo del plug-in richiesto.-f
: se specificato, tutti i plug-in esistenti verranno sovrascritti.PLUGIN_ID
: l'identificatore numerico del plug-in richiesto dal Marketplace JetBrains. Ad esempio, per aggiungere Dart utilizza6351
come PLUGIN_ID. Per aggiungere Cloud Code per IntelliJ usa8079
come PLUGIN_ID.
Ad esempio, per installare la versione più recente del plug-in Dart in IntelliJ, esegui il seguente comando:
plugin-installer.sh -d /opt/ideaIU/plugins/ 6351
Usa lo script del programma di installazione di JetBrains
Ti consigliamo di utilizzare lo script di installazione di JetBrains quando estendi un'immagine di base preconfigurata per gli IDE JetBrains.
Lo script jetbrains-installer.sh
utilizza la seguente sintassi:
jetbrains-installer.sh IDE [ pinned|latest ]
Sostituisci quanto segue:
IDE
: l'IDE JetBrains da installare. Devi utilizzare uno delle seguenti abbreviazioni IDE:IDE Prodotto installato cl
CLion clion
CLion go
GoLand goland
GoLand iiu
IntelliJ Ultimate intellij
Intellij Ultimate pcp
Professionista PyCharm pycharm
PyCharm Professional ps
PHPStorm phpstorm
PHPStorm rd
Passeggero rider
Passeggero rm
RubyMine rubymine
RubyMine ws
WebStorm webstorm
WebStorm pinned|latest
: facoltativo. Utilizza il pulsante di blocco o all'ultima versione dell'IDE. Il valore predefinito èlatest
.
Ad esempio, per installare la versione più recente di Clion, esegui questo comando :
jetbrains-installer.sh clion
Personalizza i file di configurazione dell'IDE JetBrains
Se nelle workstation viene specificata una home directory permanente
configurazione di base, immagini di base di Cloud Workstations con gli IDE JetBrains
mantenere automaticamente la configurazione $IDE.vmoptions
e $IDE.properties
. Per eseguire l'override della posizione predefinita di questi file, specifica
la variabile di ambiente CLOUD_WORKSTATIONS_JETBRAINS_PERISTED_CONFIG_DIR
.
Per ulteriori informazioni, consulta
/etc/workstation-startup.d/120_persist-jetbrains-configs.sh
in qualsiasi
Immagine di base di JetBrains per imparare
la configurazione predefinita di Cloud Workstations.
Estendere un'immagine Docker di base con Cloud Code for IntelliJ
Il seguente snippet Dockerfile estende un'immagine Docker di base con Cloud Code per IntelliJ includendo 8079
come identificatore del plug-in richiesto.
L'esempio specifica facoltativamente anche version 22.9.3-222
come numero di versione, /opt/ideaIU/plugins/
come directory di destinazione e 89628279ed9042c526a81facc09bf53f8fb8b83b4595b0d329d94c1611e0c379
come checksum:
...
# Install IDE and Plugins
RUN bash /installer-scripts/jetbrains-installer.sh intellij pinned && \
# Install Cloud Code - https://plugins.jetbrains.com/plugin/8079-cloud-code
bash /installer-scripts/plugin-installer.sh \
-v 22.9.3-222 \
-d /opt/ideaIU/plugins/ \
-c 89628279ed9042c526a81facc09bf53f8fb8b83b4595b0d329d94c1611e0c379 \
8079
# Register IDE with JetBrains Gateway
RUN echo 'runuser user -c "/opt/ideaIU/bin/remote-dev-server.sh registerBackendLocationForGateway"' > /etc/workstation-startup.d/110_register-intellij-with-gateway.sh \
echo 'echo "IntelliJ-Ultimate ready for incoming gateway connection"' >> /etc/workstation-startup.d/110_register-intellij-with-gateway.sh
...
Installare estensioni IDE aggiuntive in Code OSS per Cloud Workstations
Puoi trovare altre estensioni IDE nel
Apri VSX Registry.
Puoi trovare l'URL del file .vsix
anche copiandolo dalla
Link Scarica per qualsiasi estensione.
Se apri Estensioni del marketplace da un nella workstation, viene visualizzata l'opzione Installa anziché Scarica.
Impostazioni predefinite di Code OSS per Cloud Workstations
Per informazioni dettagliate sull'archiviazione delle impostazioni in Code OSS per Cloud Workstations, vedi Personalizzare le impostazioni.
Se specifichi una home directory permanente nella configurazione delle workstation,
puoi configurare le impostazioni predefinite per Code OSS per Cloud Workstations aggiungendo un
script di avvio
che scrive le impostazioni
$HOME/.codeoss-cloudworkstations/data/Machine/settings.json
.
Ad esempio, se vuoi impostare il tema cromatico predefinito su Scuro, estendi la base
dell'editor per includere il seguente script
/etc/workstation-startup.d/150_default-ide-color-theme.sh
cat <<< $(jq '. += {"workbench.colorTheme": "Default Dark Modern"}' settings.json) > settings.json
Crea un'immagine container personalizzata
Per informazioni dettagliate sui comandi Docker, consulta il riferimento di Docker. Inserisci questo comando per creare il tuo container:
docker build CUSTOM_IMAGE_FOLDER -t TARGET_IMAGE
Tieni presente che, sostituendo il testo che precede il modifica L'icona Modifica aggiorna gli altri esempi su questa pagina.
Sostituisci quanto segue:
CUSTOM_IMAGE_FOLDER
: il percorso creata per archiviare l'immagine personalizzata.TARGET_IMAGE
: il percorso dell'immagine in Artifact Registry (o Container Registry).Ad esempio,
TARGET_IMAGE
potrebbe fare riferimento a un percorso dell'immagine di destinazione simile a uno dei seguenti:*.pkg.dev/cloud-workstations-external/customimage:latest *.gcr.io/cloud-workstations-external/customimage:latest
Se necessario, sostituisci * con il nome della regione e identificatori aggiuntivi.
Puoi anche aggiornare la variabile di ambiente CLOUD_WORKSTATIONS_CUSTOM_IMAGE
in modo che punti al repository.
Per ulteriori informazioni sull'archiviazione delle immagini Docker in Artifact Registry, consulta le seguenti sezioni:
- Tutorial Crea un repository Docker con Artifact Registry.
- Convenzioni di denominazione per nomi di repository e immagini.
Ospita l'immagine container personalizzata
Per ospitare immagini container personalizzate, consigliamo e supportiamo Artifact Registry. Se utilizzi GitHub o qualsiasi altro repository pubblico o privato, Cloud Workstations potrebbe non funzionare come previsto. Per ulteriori informazioni, vedi la nota importante nella Utilizzare un'immagine container personalizzata .
Testa l'immagine container personalizzata
Al termine della creazione del container, puoi testarlo con i seguenti strumenti: :
docker run --privileged -p LOCAL_PORT:CONTAINER_PORT TARGET_IMAGE
Sostituisci quanto segue:
LOCAL_PORT
: il numero di porta localeCONTAINER_PORT
: il numero di porta del container
Ad esempio, sostituendo
LOCAL_PORT
:CONTAINER_PORT
con
8080
:80
assegna la porta 8080
per l'utilizzo locale e la porta 80
per l'utilizzo
nel container.
Se stai estendendo l'immagine dell'editor di base di Cloud Workstations, esegui docker
e quindi testa l'immagine della workstation connettendoti alla workstation
tramite il browser locale o eseguendo ssh
per connetterti al container:
- Se ti connetti tramite browser, assicurati di trasmettere
-p 8080:80
a il tuo comandodocker run
e poi aprilocalhost:8080
- Se preferisci connetterti tramite SSH, assicurati di trasmettere
-p 2222:22
al comandodocker run
, quindi eseguissh user@localhost -p 2222
.
Utilizza un'immagine container personalizzata
Per utilizzare l'immagine container personalizzata dopo averla creata e testata localmente, esegui il push del container in Artifact Registry (o Container Registry) con quanto segue :
docker push TARGET_IMAGE
Ora puoi crea una configurazione di workstation utilizzando l'immagine container che hai appena creato e di cui hai eseguito il push.
Per ulteriori informazioni, vedi Crea un repository Docker con Artifact Registry.
Eseguire il debug dei problemi
Per trovare ed eseguire il debug dei problemi che eseguono l'immagine container, esamina il log di output del container dalle workstation in esecuzione.
Opzione consigliata: aiuta a proteggere la pipeline delle immagini
Sei responsabile della manutenzione e dell'aggiornamento dei pacchetti personalizzati delle dipendenze aggiunte alle immagini personalizzate.
Se stai creando immagini personalizzate, ti consigliamo quanto segue:
Contribuisci a proteggere il tuo pipeline di immagini ricreando automaticamente queste immagini quando l'immagine di base di Cloud Workstations viene aggiornato.
Esegui uno strumento di scansione dei container come Analisi degli artefatti per controllare eventuali dipendenze aggiuntive che hai aggiunto.
Pianificare le build per ricreare le immagini ogni settimana o scoprire come automatizzare le rigenerazioni delle immagini container.
Passaggi successivi
- Automatizzare le ricreazioni delle immagini container per sincronizzare gli aggiornamenti delle immagini di base usando Cloud Build e Cloud Scheduler.
- Configura le best practice per la sicurezza.
- Scopri di più su Artifact Analysis.