Google Cloud mantiene las siguientes imágenes base diseñadas para usarse con Cloud Workstations.
Lista de imágenes base preconfiguradas
Estas imágenes se pueden usar directamente en la configuración de estaciones de trabajo o se pueden usar como imágenes base cuando se crean imágenes de contenedor personalizadas con el comando FROM
de Docker.
Imagen | Descripción |
---|---|
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest | El editor base de Cloud Workstations, Code OSS para Cloud Workstations, basado en Code-OSS. (Predeterminado) |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/base:latest | Imagen base sin IDE instalado. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/clion:latest | IDE de CLion. Solo se puede acceder a través de la puerta de enlace de JetBrains. Para obtener información sobre la instalación y los primeros pasos, consulta Desarrolla código con los IDE de JetBrains locales. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/goland:latest | IDE de GoLand. Solo se puede acceder a través de la puerta de enlace de JetBrains. Para obtener información sobre la instalación y los primeros pasos, consulta Desarrolla código con los IDE de JetBrains locales. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/intellij-ultimate:latest | IDE de IntelliJ IDEA Ultimate. Solo se puede acceder a través de la puerta de enlace de JetBrains. Para obtener información sobre la instalación y los primeros pasos, consulta Desarrolla código con los IDE de JetBrains locales. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/phpstorm:latest | IDE de PhpStorm. Solo se puede acceder a través de la puerta de enlace de JetBrains. Para obtener información sobre la instalación y los primeros pasos, consulta Desarrolla código con los IDE de JetBrains locales. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/pycharm:latest | IDE de PyCharm Professional Solo se puede acceder a través de la puerta de enlace de JetBrains. Para obtener información sobre la instalación y los primeros pasos, consulta Desarrolla código con los IDE de JetBrains locales. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/rider:latest | IDE del pasajero. Solo se puede acceder a través de la puerta de enlace de JetBrains. Para obtener información sobre la instalación y los primeros pasos, consulta Desarrolla código con los IDE de JetBrains locales. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/rubymine:latest | IDE de RubyMine. Solo se puede acceder a través de la puerta de enlace de JetBrains. Para obtener información sobre la instalación y los primeros pasos, consulta Desarrolla código con los IDE de JetBrains locales. |
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/webstorm:latest | IDE de WebStorm. Solo se puede acceder a través de la puerta de enlace de JetBrains. Para obtener información sobre la instalación y los primeros pasos, consulta Desarrolla código con los IDE de JetBrains locales. |
Lista de imágenes base de terceros
Imagen de terceros | Proveedor externo |
---|---|
us-central1-docker.pkg.dev/posit-images/cloud-workstations/workbench:latest | Posit Workbench (incluido RStudio Pro) |
Si tienes problemas con el IDE de Posit Workbench o con la imagen de contenedor de Posit Workbench, infórmalos a Posit en GitHub.
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
. Durante 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 se conecta de forma dinámica al contenedor, los usuarios se deben agregar 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 las imágenes 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, recomendamos que uses el prefijo de las secuencias de comandos con un número 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. Este proceso reemplaza 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 la colocación de 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 se deben agregar 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 al inicio.
Además, puedes modificar el perfil de Bash predeterminado para los usuarios mediante la actualización de los archivos en /etc/profile.d
.
Actualiza 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úa con él.
En ocasiones, los propietarios de repositorios externos 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 él. 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 vuelve a importarlas.
Cómo obtener una lista de las versiones instaladas del IDE
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.
Desactiva sudo
privilegios de administrador
El usuario de la estación de trabajo predeterminado tiene privilegios de acceso raíz sudo
en estos contenedores. Para desactivar el acceso raíz al contenedor de Docker, configura la variable de entorno CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO
como true
cuando crees la configuración de la estación de trabajo.
Para configurar 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 cuadro de 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.
¿Qué sigue?
- Personaliza las imágenes de contenedor.
- Automatiza las recompilaciones de imágenes de contenedor para sincronizar las actualizaciones de la imagen base mediante Cloud Build y Cloud Scheduler.
- Configura las prácticas recomendadas de seguridad.