Images de base préconfigurées

Google Cloud gère les images de base suivantes conçues pour être utilisées avec Cloud Workstations.

Liste des images de base préconfigurées

Ces images peuvent être utilisées directement dans les configurations de stations de travail ou comme images de base lors de la création d'images de conteneurs personnalisées avec la commande FROM de Docker.

Image Description
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest Éditeur de base Cloud Workstations, Code OSS pour Cloud Workstations, basé sur Code-OSS. (par défaut)
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/base:latest Image de base sans IDE installé.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/clion:latest CLion IDE. Accessible uniquement via JetBrains Gateway.
Pour obtenir des informations sur l'installation et la prise en main, consultez Développer du code à l'aide d'IDE JetBrains locaux.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/goland:latest IDE GoLand. Accessible uniquement via JetBrains Gateway.
Pour obtenir des informations sur l'installation et la prise en main, consultez Développer du code à l'aide d'IDE JetBrains locaux.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/intellij-ultimate:latest IDE IntelliJ IDEA Ultimate. Accessible uniquement via JetBrains Gateway.
Pour obtenir des informations sur l'installation et la prise en main, consultez Développer du code à l'aide d'IDE JetBrains locaux.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/phpstorm:latest IDE PhpStorm. Accessible uniquement via JetBrains Gateway.
Pour obtenir des informations sur l'installation et la prise en main, consultez Développer du code à l'aide d'IDE JetBrains locaux.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/pycharm:latest IDE PyCharm Professional Accessible uniquement via JetBrains Gateway.
Pour obtenir des informations sur l'installation et la prise en main, consultez Développer du code à l'aide d'IDE JetBrains locaux.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/rider:latest IDE Rider Accessible uniquement via JetBrains Gateway.
Pour obtenir des informations sur l'installation et la prise en main, consultez Développer du code à l'aide d'IDE JetBrains locaux.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/rubymine:latest RubyMine IDE. Accessible uniquement via JetBrains Gateway.
Pour obtenir des informations sur l'installation et la prise en main, consultez Développer du code à l'aide d'IDE JetBrains locaux.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/webstorm:latest IDE WebStorm. Accessible uniquement via JetBrains Gateway.
Pour obtenir des informations sur l'installation et la prise en main, consultez Développer du code à l'aide d'IDE JetBrains locaux.

Liste des images de base tierces

Image tierce Fournisseur tiers
us-central1-docker.pkg.dev/posit-images/cloud-workstations/workbench:latest Posit Workbench (y compris RStudio Pro)

Si vous rencontrez des problèmes avec l'IDE Posit Workbench ou avec l'image de conteneur Posit Workbench, signalez-les à Posit sur GitHub.

Structure de l'image de base Cloud Workstations

Les images de base Cloud Workstations partagent la structure définie suivante :

  • Le fichier de point d'entrée de l'image de base est défini sur /google/scripts/entrypoint.sh.
  • Au démarrage, les images de base exécutent les fichiers sous /etc/workstation-startup.d/* dans l'ordre lexicographique pour initialiser l'environnement du poste de travail.

    Les fichiers et leur comportement sont les suivants :

    • 000_configure-docker.sh : configure et exécute Docker dans la station de travail.
    • 010_add-user.sh : crée l'utilisateur par défaut dans Cloud Workstations.

      Étant donné que le disque persistant est associé de manière dynamique au conteneur, les utilisateurs doivent être ajoutés au démarrage du poste de travail, et non dans le fichier Dockerfile.

    • 020_start-sshd.sh : démarre le service sshd dans le conteneur.

    • 030_customize-environment.sh : exécute /home/user/.workstation/customize_environment en tant que user.

    • 110_start-$IDE.sh : démarre l'IDE pour l'image.

  • Cloud Workstations stocke les images Docker dans le répertoire d'accueil à l'adresse /home/.docker_data afin que les images soient conservées entre les sessions.

Pour ajouter des fonctionnalités supplémentaires au démarrage du poste de travail, ajoutez vos scripts dans le répertoire /etc/workstation-startup.d/ :

  • Par défaut, les scripts de ce répertoire s'exécutent en tant que racine. Pour exécuter les scripts en tant qu'utilisateur différent, utilisez la commande runuser.

  • Étant donné que les scripts s'exécutent dans l'ordre lexicographique, nous vous recommandons de les préfixer avec un nombre à trois chiffres supérieur à 200.

Si vous ne souhaitez pas étendre l'image d'une station de travail, vous pouvez créer un script customize_environment dans votre répertoire personnel.

Modifications apportées au répertoire d'accueil

Lorsque la configuration de la station de travail spécifie un répertoire d'accueil persistant (comportement par défaut), un disque persistant sauvegardant le répertoire d'accueil est associé dynamiquement au conteneur lors de l'exécution. Ce processus écrase les modifications apportées au répertoire /home lors de la création de l'image de conteneur.

Pour conserver les mises à jour, modifiez le répertoire /home lors de l'exécution du conteneur en ajoutant un script dans le répertoire /etc/workstation-startup.d ou en ajoutant une configuration par utilisateur dans le répertoire /etc/profile.d. Pour accélérer le processus, envisagez d'exécuter le script de configuration en tant que processus en arrière-plan (ajoutez une esperluette, &, à la fin de la commande) pour éviter de bloquer le démarrage du conteneur.

Voici quelques exemples de configurations au moment de la compilation qui doivent être déplacées vers le temps d'exécution du conteneur :

  • Configuration git par utilisateur
  • Dépôts git clonés dans le répertoire d'accueil
  • Configuration directe de l'utilisateur, par exemple en plaçant des fichiers dans un répertoire $HOME/.config
  • Création de compte utilisateur

Création et modification d'utilisateurs

Étant donné que le disque persistant est associé dynamiquement au conteneur lors de l'exécution, les utilisateurs doivent être ajoutés au démarrage du poste de travail, et non dans le fichier Dockerfile. Pour modifier ou créer des utilisateurs supplémentaires, nous vous recommandons de mettre à jour /etc/workstation-startup.d/010_add-user.sh ou de créer votre propre script qui s'exécute au démarrage.

Vous pouvez également modifier le profil Bash par défaut des utilisateurs en mettant à jour les fichiers dans /etc/profile.d.

Mettre à jour les clés Secure APT préconfigurées

Les images de base Cloud Workstations sont préinstallées avec un certain nombre d'outils obtenus à partir de différents dépôts tiers à l'aide de Secure APT. Lors de l'installation, les clés publiques fournies par les propriétaires du dépôt sont importées à l'aide de gpg et placées dans des fichiers individuels sous /usr/share/keyrings/. Ces fichiers sont référencés à partir des fichiers list correspondants sous /etc/apt/sources.list.d/. Cela permet à apt de vérifier l'intégrité d'un dépôt donné lors de l'interaction avec celui-ci.

Il arrive que les propriétaires de dépôts tiers décident de modifier la clé publique utilisée pour valider l'intégrité de leur dépôt, ce qui entraîne l'affichage d'une erreur par apt lors de l'interaction avec celui-ci. Pour résoudre ce problème potentiel, vous pouvez utiliser /google/scripts/refresh-preinstalled-apt-keys.sh, qui obtient les dernières versions des clés publiques préinstallées et les réimporte.

Lister les versions de l'IDE installées

Plusieurs images de base Cloud Workstations sont préinstallées avec un IDE. Pour plus de commodité, consultez le script /google/scripts/preinstalled-ide-versions.sh inclus, qui liste le nom et les informations de version des IDE installés dans l'image.

Désactiver les droits root sudo

L'utilisateur de la station de travail par défaut dispose de droits d'accès racine sudo dans ces conteneurs. Pour désactiver l'accès racine au conteneur Docker, définissez la variable d'environnement CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO sur true lors de la création de la configuration du poste de travail.

Pour définir cette variable d'environnement dans la console Google Cloud lors de la création de la configuration de votre station de travail, procédez comme suit :

  1. Lorsque vous créez la configuration de votre poste de travail, renseignez les informations de base et la configuration de la machine.
  2. Dans la boîte de dialogue Personnalisation de l'environnement, développez la section Options avancées des conteneurs, puis sélectionnez Variables d'environnement.
  3. Cliquez sur AjouterAjouter une variable.
  4. Saisissez CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO et true comme valeur.

Personnaliser sans étendre une image

Pour plus de commodité, toutes les images de base Cloud Workstations vérifient la présence d'un fichier exécutable situé à l'adresse /home/user/.workstation/customize_environment et, s'il existe, l'exécutent en arrière-plan en tant que user. Cela vous permet d'exécuter n'importe quel script ou binaire au démarrage. Contrairement à .profile ou .bashrc, le script ne s'exécute qu'une seule fois au démarrage de la station de travail, et non une fois pour chaque connexion à Cloud Shell.

Étant donné que le script customize_environment s'exécute en tant que user, veillez à mettre à jour les autorisations si nécessaire lorsque vous écrivez votre script. Par exemple, si vous souhaitez installer Emacs chaque fois que votre poste de travail démarre, le contenu de customize_environment peut ressembler à ce qui suit :

#!/bin/bash
sudo apt-get update
sudo apt-get install -y emacs

Les journaux d'exécution de customize_environment se trouvent dans le conteneur à l'adresse /var/log/customize_environment et sont également écrits dans les journaux de sortie du conteneur. Si l'exécution de customize_environment réussit, un fichier est créé dans /var/run/customize_environment_done. Étant donné que customize_environment s'exécute en parallèle avec le démarrage de Workstation, les packages installés par le script peuvent être disponibles quelques instants après le démarrage de votre station de travail.

Éviter les délais d'inactivité

Pour plus de commodité, toutes les images de base Cloud Workstations incluent un script préinstallé à l'adresse /google/scripts/keep_alive.sh. Ce script envoie régulièrement des messages de maintien en vie, ce qui peut empêcher la station de travail de s'éteindre en raison de délais d'inactivité lorsque vous exécutez des processus en arrière-plan sans interaction directe.

Étape suivante