Las imágenes base preconfiguradas que proporciona Cloud Workstations contienen solo un entorno mínimo con IDE, herramientas básicas de lenguaje y terminal de Linux y un servidor sshd
. Para acelerar la configuración del entorno de casos de uso de desarrollo específicos, puedes crear imágenes de contenedor personalizadas que extiendan estas imágenes base a herramientas y dependencias previas a la instalación, y que ejecuten secuencias de comandos de automatización.
En el caso de las imágenes de contenedor personalizadas, te recomendamos configurar una canalización para volver a compilarlas automáticamente cuando se actualice la imagen base de Cloud Workstations, además de ejecutar una herramienta de análisis de contenedores, como Artifact Analysis, para inspeccionar las dependencias adicionales que agregaste. Eres responsable de mantener y actualizar los paquetes y las dependencias personalizados que se agregan a las imágenes personalizadas.
Antes de comenzar
Necesitas una máquina con herramientas para compilar imágenes de contenedor, como Docker, y enviar imágenes a Artifact Registry (o Container Registry) mediante Google Cloud CLI. Puedes usar Cloud Workstations o el Editor de Cloud Shell para realizar estos pasos, que tienen estas herramientas preinstaladas.
Selecciona la imagen base que deseas usar de nuestra lista de imágenes base compatibles, como
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest
.Como alternativa, puedes usar tu propia imagen de contenedor o usar imágenes de contenedor externas. Para ello, sigue las instrucciones en Usa tu propia imagen de contenedor.
Crea una carpeta como
CUSTOM_IMAGE_FOLDER
y un Dockerfile dentro de esta carpeta que extienda la imagen base seleccionada, como se muestra en los siguientes ejemplos.
Estructura de la imagen base de Cloud Workstations
Las imágenes base de Cloud Workstations comparten la siguiente estructura definida:
- El archivo de punto de entrada de la imagen base se establece en
/google/scripts/entrypoint.sh
. En el inicio, las imágenes base ejecutan archivos en
/etc/workstation-startup.d/*
en orden lexicográfico para inicializar el entorno de la estación de trabajo.Los archivos y su comportamiento son los siguientes:
000_configure-docker.sh
: Configura y ejecuta Docker dentro de la estación de trabajo.010_add-user.sh
: Crea el usuario predeterminado en Cloud Workstations.Debido a que el disco persistente está conectado de manera dinámica al contenedor, los usuarios deben agregarse en el inicio de la estación de trabajo, no en el Dockerfile.
020_start-sshd.sh
: Inicia el serviciosshd
en el contenedor.110_start-$IDE.sh
: Inicia el IDE para la imagen.
Cloud Workstations almacena imágenes de Docker en el directorio principal, en
/home/.docker_data
, para que se conserven entre sesiones.
Para agregar funcionalidad adicional durante el inicio de la estación de trabajo, agrega tus secuencias de comandos en el directorio /etc/workstation-startup.d/
:
Las secuencias de comandos de este directorio se ejecutan como raíz de forma predeterminada. Para ejecutar las secuencias de comandos como un usuario diferente, usa el comando
runuser
.Debido a que las secuencias de comandos se ejecutan en orden lexicográfico, te recomendamos que uses el prefijo de tres dígitos mayor que 200.
Modificaciones del directorio principal
Cuando la configuración de la estación de trabajo especifica un directorio principal persistente (que es el comportamiento predeterminado), un disco persistente que respalda el directorio principal se conecta de forma dinámica al contenedor en el entorno de ejecución. Con este proceso, se reemplazan las modificaciones realizadas en el directorio /home
durante el tiempo de compilación de la imagen de contenedor.
Para conservar las actualizaciones, modifica el directorio /home
en el entorno de ejecución del contenedor. Para ello, agrega una secuencia de comandos en el directorio /etc/workstation-startup.d
o agrega una configuración por usuario en el directorio /etc/profile.d
.
Para acelerar el proceso, considera ejecutar la secuencia de comandos de configuración como un proceso
en segundo plano (agrega un signo de unión, &
, al final del comando) para evitar
bloquear el inicio del contenedor.
Estos son algunos ejemplos de configuración de tiempo de compilación que se debe mover al entorno de ejecución del contenedor:
- Configuración de
git
por usuario git
repositorios clonados en el directorio principal- Configuración directa del usuario, como colocar archivos en un directorio
$HOME/.config
- Creación de usuarios
Creación y modificación de usuarios
Debido a que el disco persistente se conecta de forma dinámica al contenedor en el entorno de ejecución, los usuarios deben agregarse en el inicio de la estación de trabajo, no en el Dockerfile. Para modificar o crear usuarios adicionales, te recomendamos que actualices /etc/workstation-startup.d/010_add-user.sh
o crees tu propia secuencia de comandos que se ejecute durante el inicio.
Además, puedes modificar el perfil de Bash predeterminado para los usuarios si actualizas los archivos en /etc/profile.d
.
Actualizar las claves de APT seguras preconfiguradas
Las imágenes base de Cloud Workstations vienen preinstaladas con una serie de herramientas obtenidas
de varios repositorios de terceros que usan Secure APT. Como parte del proceso de instalación, las claves públicas que proporcionan los propietarios del repositorio se importan con gpg
y se colocan en archivos individuales en /usr/share/keyrings/
. Se hace referencia a estos archivos desde los archivos list
correspondientes en /etc/apt/sources.list.d/
.
Esto permite que apt
verifique la integridad de un repositorio determinado cuando interactúe con él.
En ocasiones, los propietarios de repositorios de terceros pueden decidir cambiar la clave pública que se usa para validar la integridad de su repositorio, lo que hace que apt
muestre un error cuando interactúa con ella. Para resolver este posible problema, puedes usar /google/scripts/refresh-preinstalled-apt-keys.sh
, que obtiene las versiones más recientes de las claves públicas preinstaladas y las vuelve a importar.
Cómo obtener una lista de las versiones del IDE instaladas
Varias imágenes base de Cloud Workstations vienen preinstalados con un IDE. Para mayor comodidad, consulta la secuencia de comandos /google/scripts/preinstalled-ide-versions.sh
incluida, que enumera el nombre y la información de la versión de los IDE instalados en la imagen.
Desactivar sudo
privilegios raíz
El usuario de la estación de trabajo predeterminada tiene privilegios de acceso raíz sudo
en estos contenedores. Para desactivar el acceso raíz al contenedor de Docker, establece la variable de entorno CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO
en true
cuando crees la configuración de la estación de trabajo.
Para establecer esta variable de entorno a través de la consola de Google Cloud cuando creas la configuración de la estación de trabajo, sigue estos pasos:
- Cuando crees la configuración de tu estación de trabajo, completa la configuración de la información básica y la configuración de la máquina.
- En el diálogo Personalización del entorno, expande la sección Opciones avanzadas de contenedor y selecciona Variables de entorno.
- Haz clic en addAgregar variable.
- Ingresa
CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO
ytrue
como valor.
Usa tu propia imagen de contenedor
También puedes usar tu propia imagen de contenedor o utilizar imágenes de contenedor externas, siempre que se basen en Linux y ejecuten un proceso de bloqueo cuando se inicie el contenedor.
Cuando configuras el Dockerfile, la instrucción ENTRYPOINT
debe ejecutar un proceso de bloqueo como sleep infinity
para que el contenedor continúe ejecutándose, en lugar de salir de inmediato. Como alternativa, en la configuración de la estación de trabajo, puedes establecer el campo config.container.args
para especificar un proceso de bloqueo.
Cuando uses tu propia imagen de contenedor, ten en cuenta lo siguiente:
Cloud Workstations no requiere secuencias de comandos adicionales de la imagen base de Cloud Workstations.
Sin embargo, puedes ver las secuencias de comandos en el directorio
/etc/workstation-startup.d/
dentro de un contenedor que ejecuta la imagen base de Cloud Workstations. Los nombres de archivo indican lo que hace cada secuencia de comandos.Te recomendamos que ejecutes un servidor SSH en el contenedor. Consulta
/etc/workstation-startup.d/020_start-sshd.sh
en la imagen base predeterminada para conocer cómo Cloud Workstations la configura de forma predeterminada.Te recomendamos que ejecutes tu IDE o servidor web predeterminado en el puerto
80
.
Amplía las imágenes base de Cloud Workstations
Cuando extiendes una imagen base de Cloud Workstations para crear una imagen personalizada para el entorno de la estación de trabajo, puedes adoptar tres enfoques:
- Actualiza tu
Dockerfile
para incluir los elementos estáticos adicionales que quieras agregar. - Agrega archivos ejecutables adicionales en
/etc/workstation-startup.d/
para personalizar el contenedor en ejecución. Los archivos de este directorio se ejecutan de forma automática en orden lexicográfico durante el inicio del contenedor, por lo que puedes agregar un prefijo al nombre de archivo para ejecutarlo en el momento adecuado durante el inicio de la estación de trabajo. - Anula el
ENTRYPOINT
en tu Dockerfile para personalizar por completo el inicio del contenedor.
Dockerfiles personalizados de muestra
En esta sección, se proporcionan instrucciones y situaciones de ejemplo para crear tus propios Dockerfiles.
Imagen de contenedor con emacs
preinstalado
Para crear una imagen de contenedor con emacs
preinstalado, ejecuta los siguientes comandos:
FROM us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest
RUN sudo apt update
RUN sudo apt install -y emacs
Imagen de contenedor con personalización del usuario
Sigue estos pasos para personalizar una imagen de contenedor:
Crea una secuencia de comandos en
/etc/workstation-startup.d/*
que se ejecute después de010_add-user.sh
, por ejemplo,011_customize-user.sh
:#!/bin/bash # Create new group groupadd $GROUP # Add the user to a new group usermod -a -G $GROUP $USERNAME
Reemplaza
$GROUP
por el nombre nuevo del grupo y$USERNAME
por el nombre de usuario del usuario.Si suponemos que nombraste a la secuencia de comandos
011_customize-user.sh
, agrega lo siguiente a la imagen en el Dockerfile y haz que sea ejecutable: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
Imagen de contenedor que establece variables de entorno del contenedor en sesiones SSH
Las variables de entorno establecidas en la configuración de la estación de trabajo o en el nivel de la estación de trabajo se pasan a subprocesos directos con el comando entrypoint. Esto incluye el IDE en las imágenes base preconfiguradas. Sin embargo, las sesiones SSH no son procesos secundarios del punto de entrada y no tienen configuradas estas variables de entorno personalizadas.
Para configurar esas variables de entorno en las sesiones SSH, configura una imagen de contenedor personalizada que retransmita estas variables de entorno del comando entrypoint del contenedor al archivo /etc/environment
.
Para lograrlo, sigue estos pasos:
Crea una secuencia de comandos en
/etc/workstation-startup.d/*
que se ejecute después de010_add-user.sh
, por ejemplo,011_add-ssh-env-variables.sh
:#!/bin/bash # echo "CUSTOM_ENV_VAR=$CUSTOM_ENV_VAR" >> /etc/environment
Reemplaza
CUSTOM_ENV_VAR
por el nombre de la variable de entorno deseado.Si suponemos que nombraste a la secuencia de comandos
011_add-ssh-env-variables.sh
, agrega lo siguiente a la imagen en el Dockerfile y haz que sea ejecutable: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
Imagen de contenedor que habilita el reenvío de X11 para sesiones SSH
El reenvío de X11 te permite iniciar aplicaciones remotas y reenviar la pantalla de la aplicación a una máquina local.
Para crear una imagen de contenedor que habilite el reenvío de X11, modifica el archivo de configuración del daemon de OpenSSH (/etc/ssh/sshd_config
) que proporcionan las imágenes base de Cloud Workstations; para ello, agrega X11Forwarding yes
(para permitir el reenvío de X11) y AddressFamily inet
(para garantizar que solo se use IPv4). Para obtener más información sobre estas palabras clave, consulta las páginas web de OpenBSD sobre AddressFamily
y X11Forwarding
.
Este es un Dockerfile de muestra que realiza las modificaciones necesarias:
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
Imagen de contenedor que preinstala extensiones de IDE en Code OSS para Cloud Workstations para el desarrollo de Java
Para crear una imagen de contenedor que instale previamente las extensiones del IDE en Code OSS para Cloud Workstations para el desarrollo de Java en el tiempo de compilación, ejecuta los siguientes comandos:
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
Si instalas extensiones previamente, se consideran extensiones integradas.
No podrás actualizar estas extensiones y es posible que no aparezcan en
la sección instalada de
Marketplace de Extensiones de .
Sin embargo, puedes encontrar tus extensiones integradas si buscas
@builtin
.
Otra forma de instalar extensiones durante el inicio es ejecutar una secuencia de comandos de inicio.
Por ejemplo, incluye la siguiente secuencia de comandos de inicio en /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 este método, la extensión aparece en el Marketplace de Extensiones y puedes actualizarla desde allí.
Instala los IDE y complementos de JetBrains en las imágenes base.
Cuando personalizas imágenes de Docker para configuraciones de estaciones de trabajo, puedes instalar IDE y complementos de JetBrains, como Cloud Code para IntelliJ, en la imagen base. Las imágenes base de Cloud Workstations para los productos de JetBrains incluyen las siguientes secuencias de comandos que te ayudarán:
jetbrains-installer.sh
: Instala los IDE de JetBrains.plugin-installer.sh
: Instala complementos, como Cloud Code para IntelliJ.
Usa estas secuencias de comandos según sea necesario para personalizar la imagen base, llamarlas con una secuencia de comandos de inicio o ejecutarlas después de iniciar la estación de trabajo.
Secuencias de comandos del instalador
Para ver los archivos de origen de las secuencias de comandos jetbrains-installer.sh
y plugin-installer.sh
, inicia una estación de trabajo con una configuración de estación de trabajo que use una de las imágenes predefinidas de JetBrains, conéctate a la estación de trabajo a través de la puerta de enlace de JetBrains o SSH y, luego, explora los archivos de la secuencia de comandos en el directorio installer-scripts
, que se encuentra en el directorio raíz.
Recomendamos que ejecutes estas secuencias de comandos durante la compilación del contenedor. Evita ejecutarlos en una estación de trabajo ya iniciada.
Usa la secuencia de comandos del instalador del complemento
La secuencia de comandos plugin-installer.sh
usa la siguiente sintaxis:
plugin-installer.sh [-v VERSION] [-d DESTINATION-DIRECTORY] [-c CHECKSUM] [-f] PLUGIN_ID
Reemplaza lo siguiente:
VERSION
: Es el número de versión opcional del complemento que se instalará.DESTINATION-DIRECTORY
: Es el directorio opcional en el que se debe instalar el complemento. Si no se especifica, se usa el directorio de trabajo.CHECKSUM
: Suma de verificación SHA-256 opcional del complemento solicitado.-f
: Si se especifica, se reemplazará cualquier complemento existente.PLUGIN_ID
: Es el identificador numérico del complemento del mercado de JetBrains. Por ejemplo, para agregar Dart, usa6351
como PLUGIN_ID. Para agregar Cloud Code para IntelliJ, usa8079
como PLUGIN_ID.
Por ejemplo, para instalar la última versión del complemento de Dart en IntelliJ, ejecuta el siguiente comando:
plugin-installer.sh -d /opt/ideaIU/plugins/ 6351
Usa la secuencia de comandos del instalador de JetBrains.
Te recomendamos que uses la secuencia de comandos del instalador de JetBrains cuando extends una imagen base preconfigurada para los IDE de JetBrains.
La secuencia de comandos jetbrains-installer.sh
usa la siguiente sintaxis:
jetbrains-installer.sh IDE [ pinned|latest ]
Reemplaza lo siguiente:
IDE
: Es el IDE de JetBrains que se instalará. Debes usar una de las siguientes abreviaturas de IDE:IDE Producto instalado cl
CLion clion
CLion go
GoLand goland
GoLand iiu
Inteligencia Artificial intellij
Inteligencia Artificial pcp
PyCharm Professional pycharm
PyCharm Professional ps
PHPStorm phpstorm
PHPStorm rd
Rider rider
Rider rm
RubyMine rubymine
RubyMine ws
WebStorm webstorm
WebStorm pinned|latest
(opcional): Usa la versión fijada o la más reciente del IDE. La configuración predeterminada eslatest
.
Por ejemplo, para instalar la versión más reciente de Clion, ejecuta el siguiente comando:
jetbrains-installer.sh clion
Cómo personalizar los archivos de configuración del IDE de JetBrains
Si se especifica un directorio principal persistente en la configuración de las estaciones de trabajo, las imágenes base de Cloud Workstations con IDE de JetBrains conservan automáticamente los archivos de configuración $IDE.vmoptions
y $IDE.properties
. Para anular la ubicación predeterminada de estos archivos, especifica
la variable de entorno CLOUD_WORKSTATIONS_JETBRAINS_PERISTED_CONFIG_DIR
.
Para obtener más información, consulta /etc/workstation-startup.d/120_persist-jetbrains-configs.sh
en cualquier imagen base de JetBrains para conocer la forma en que Cloud Workstations configura esto de forma predeterminada.
Extiende una imagen base de Docker con Cloud Code para IntelliJ
En el siguiente fragmento de Dockerfile, se extiende una imagen base de Docker con Cloud Code para IntelliJ mediante la inclusión de 8079
como identificador de complemento obligatorio.
De manera opcional, en el ejemplo también se especifica version 22.9.3-222
como el número de versión, /opt/ideaIU/plugins/
como el directorio de destino y 89628279ed9042c526a81facc09bf53f8fb8b83b4595b0d329d94c1611e0c379
como la suma de verificación:
...
# 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
...
Instala extensiones del IDE adicionales en Code OSS para Cloud Workstations
Encuentra extensiones del IDE adicionales en Abrir el registro de VSX.
También puedes encontrar la URL del archivo .vsix
copiando la URL del vínculo
Descargar de cualquier extensión.
Si abres Extensions Marketplace desde una estación de trabajo, aparecerá Install en lugar de Download.
Código predeterminado de OSS para la configuración de Cloud Workstations
Si quieres obtener información detallada sobre el almacenamiento de la configuración en Code OSS para Cloud Workstations, consulta Personaliza la configuración.
Si especificas un directorio principal persistente en la configuración de las estaciones de trabajo, puedes establecer la configuración predeterminada de Code-OSS para Cloud Workstations si agregas una secuencia de comandos de inicio que escriba la configuración en $HOME/.codeoss-cloudworkstations/data/Machine/settings.json
.
Por ejemplo, si deseas establecer el tema de color predeterminado como oscuro, extiende la imagen base del editor para incluir la siguiente secuencia de comandos en /etc/workstation-startup.d/150_default-ide-color-theme.sh
.
cat <<< $(jq '. += {"workbench.colorTheme": "Default Dark Modern"}' settings.json) > settings.json
Compila una imagen de contenedor personalizada
Para obtener información detallada sobre los comandos de Docker, consulta la referencia de Docker. Escribe el comando siguiente para compilar tu contenedor:
docker build CUSTOM_IMAGE_FOLDER -t TARGET_IMAGE
Ten en cuenta que, cuando se reemplaza el texto que precede al ícono de edición Editar, se actualizan los demás ejemplos de esta página.
Reemplaza lo siguiente:
CUSTOM_IMAGE_FOLDER
: Es la ruta a la carpeta que creaste para almacenar tu imagen personalizada.TARGET_IMAGE
: Es la ruta de acceso a tu imagen en Artifact Registry (o Container Registry).Por ejemplo,
TARGET_IMAGE
podría apuntar a una ruta de imagen de destino similar a cualquiera de las siguientes:*.pkg.dev/cloud-workstations-external/customimage:latest *.gcr.io/cloud-workstations-external/customimage:latest
Reemplaza * según sea necesario por el nombre de la región y cualquier identificador adicional.
También puedes actualizar la variable de entorno CLOUD_WORKSTATIONS_CUSTOM_IMAGE
para que apunte al repositorio.
Para obtener más información sobre el almacenamiento de imágenes de Docker en Artifact Registry, consulta las siguientes secciones:
- Cómo crear un repositorio de Docker con Artifact Registry.
- Convenciones de nomenclatura para los nombres de repositorios y de imágenes.
Aloja la imagen de contenedor personalizada
Para alojar imágenes de contenedor personalizadas, recomendamos y admite Artifact Registry. Si usas GitHub o cualquier otro repositorio público o privado, es posible que Cloud Workstations no funcione como se espera. Para obtener más información, consulta la nota importante en la sección Usa una imagen de contenedor personalizada.
Prueba tu imagen de contenedor personalizada
Cuando el contenedor termine de compilarse, puedes probarlo con el siguiente comando:
docker run --privileged -p LOCAL_PORT:CONTAINER_PORT TARGET_IMAGE
Reemplaza lo siguiente:
LOCAL_PORT
: Es el número de puerto local.CONTAINER_PORT
: Es el número de puerto del contenedor.
Por ejemplo, si reemplazas LOCAL_PORT
:CONTAINER_PORT
por 8080
:80
, se asigna el puerto 8080
para su uso local y el puerto 80
para usar en el contenedor.
Si vas a extender la imagen del editor base de Cloud Workstations, ejecuta el comando
docker
y, luego, prueba la imagen de la estación de trabajo. Para ello, conéctate a la estación de trabajo
a través de tu navegador local o ejecuta ssh
para conectarte al contenedor:
- Si te conectas a través de tu navegador, asegúrate de pasar
-p 8080:80
al comandodocker run
y, luego, abrelocalhost:8080
. - Si prefieres conectarte a través de SSH, asegúrate de pasar
-p 2222:22
a tu comandodocker run
y, luego, ejecutarssh user@localhost -p 2222
.
Usa una imagen de contenedor personalizada
Para usar la imagen de contenedor personalizada después de compilarla y probarla de forma local, envía el contenedor a Artifact Registry (o Container Registry) con el siguiente comando:
docker push TARGET_IMAGE
Ahora puedes crear una configuración de estación de trabajo con la imagen de contenedor que acabas de crear y enviar.
Para obtener más información, consulta Crea un repositorio de Docker con Artifact Registry.
Cómo depurar problemas
Para encontrar y depurar problemas en la ejecución de la imagen de contenedor, revisa los registros de resultados del contenedor desde tus estaciones de trabajo en ejecución.
Recomendado: Ayuda a proteger tu canalización de imágenes
Eres responsable de mantener y actualizar los paquetes personalizados y las dependencias que se agreguen a las imágenes personalizadas.
Si creas imágenes personalizadas, te recomendamos lo siguiente:
Vuelve a compilar automáticamente estas imágenes cuando se actualice la imagen base de Cloud Workstations para proteger la canalización de imágenes.
Ejecuta una herramienta de análisis de contenedores, como Artifact Analysis, para inspeccionar las dependencias adicionales que hayas agregado.
Programa compilaciones para volver a compilar imágenes semanalmente o descubre cómo automatizar la recompilación de imágenes de contenedores.
¿Qué sigue?
- Automatiza la recompilación de imágenes de contenedor para sincronizar las actualizaciones de imágenes base con Cloud Build y Cloud Scheduler.
- Configura las prácticas recomendadas de seguridad.
- Obtén más información sobre Artifact Analysis.