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 conteneur 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 IDE CLion Accessible uniquement via JetBrains Gateway.
Pour en savoir plus sur l'installation et le démarrage, consultez la section 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 en savoir plus sur l'installation et le démarrage, consultez la section 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 en savoir plus sur l'installation et le démarrage, consultez la section 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 en savoir plus sur l'installation et le démarrage, consultez la section 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 en savoir plus sur l'installation et le démarrage, consultez la section 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 en savoir plus sur l'installation et le démarrage, consultez la section Développer du code à l'aide d'IDE JetBrains locaux.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/rubymine:latest IDE RubyMine Accessible uniquement via JetBrains Gateway.
Pour en savoir plus sur l'installation et le démarrage, consultez la section 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 en savoir plus sur l'installation et le démarrage, consultez la section 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 alphabétique pour initialiser l'environnement de la station 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 de la station de travail, et non dans le Dockerfile.

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

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

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

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

  • Les scripts de ce répertoire s'exécutent en tant qu'utilisateur racine par défaut. 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 alphabétique, nous vous recommandons d'ajouter un nombre à trois chiffres supérieur à 200 en préfixe.

Modifications apportées au répertoire d'accueil

Lorsque la configuration de la station de travail spécifie un répertoire d'accueil persistant (ce qui est le comportement par défaut), un disque persistant qui sert de base au répertoire d'accueil est associé de manière dynamique au conteneur au moment de l'exécution. Ce processus écrase les modifications apportées au répertoire /home au moment de la création de l'image du conteneur.

Pour conserver les mises à jour, modifiez le répertoire /home au moment 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 un esperluette, &, à la fin de la commande) pour éviter de bloquer le démarrage du conteneur.

Voici quelques exemples de configuration au moment de la compilation qui doivent être déplacés vers l'environnement 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 s'associe de manière dynamique au conteneur au moment de l'exécution, les utilisateurs doivent être ajoutés au démarrage de la station de travail, et non dans le 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.

En outre, vous pouvez modifier le profil bash par défaut pour les utilisateurs en mettant à jour les fichiers dans /etc/profile.d.

Modifier les clés APT sécurisées préconfigurées

Les images de base de Cloud Workstations sont préinstallées avec un certain nombre d'outils obtenus à partir de divers dépôts tiers à l'aide de Secure APT. Lors du processus d'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é lorsqu'il interagit avec lui.

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 lorsqu'il interagit 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 d'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 par défaut de la station de travail dispose des 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 de la station de travail.

Pour définir cette variable d'environnement via la console Google Cloud lorsque vous créez la configuration de votre station de travail, procédez comme suit:

  1. Lorsque vous créez la configuration de votre poste de travail, remplissez les sections "Informations de base" et "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.

Étape suivante