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 à l'aide de la commande FROM
de Docker.
Image | Description |
---|---|
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest | Éditeur de base de 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 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 professionnel PyCharm 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 | IDE RubyMine. 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 ou l'image de conteneur Posit Workbench, signalez-les à Posit sur GitHub.
Structure de l'image de base Cloud Workstations
Les images de base de 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 de la station de travail.Ces fichiers et leur comportement sont les suivants:
000_configure-docker.sh
: configure et exécute Docker dans le poste de travail.010_add-user.sh
: crée l'utilisateur par défaut dans Cloud Workstations.Comme 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 servicesshd
dans le conteneur.110_start-$IDE.sh
: démarre l'IDE de l'image.
Cloud Workstations stocke les images Docker dans le répertoire d'accueil à l'adresse
/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 par défaut en tant que racine. Pour exécuter les scripts sous un autre utilisateur, utilisez la commande
runuser
.Étant donné que les scripts s'exécutent dans l'ordre lexicographique, nous vous recommandons de leur ajouter un nombre à trois chiffres supérieur à 200.
Modifications du répertoire d'accueil
Lorsque la configuration de la station de travail spécifie un répertoire d'accueil persistant (qui est le comportement par défaut), un disque persistant assurant la sauvegarde du 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 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 arrière-plan (ajoutez une esperluette &
à la fin de la commande) afin d'éviter de bloquer le démarrage du conteneur.
Voici quelques exemples de configuration au moment de la compilation à déplacer vers l'environnement d'exécution du conteneur:
- Configuration
git
par utilisateur git
dépôt cloné dans le répertoire d'accueil- Configuration directe de l'utilisateur, telle que le placement de 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 dynamiquement 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.
Vous pouvez également modifier le profil bash par défaut pour les utilisateurs en mettant à jour les fichiers dans /etc/profile.d
.
Mettre à jour les clés APT sécurisées préconfigurées
Un certain nombre d'outils obtenus à partir de divers dépôts tiers à l'aide d'APT sécurisé sont préinstallés dans les images de base de Cloud Workstations. Dans le cadre 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 celui-ci.
Parfois, les propriétaires de dépôts tiers peuvent décider 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 elle. Pour résoudre ce problème potentiel, vous pouvez utiliser /google/scripts/refresh-preinstalled-apt-keys.sh
, qui récupère 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 de Cloud Workstations sont préinstallées avec un IDE. Pour plus de commodité, consultez le script /google/scripts/preinstalled-ide-versions.sh
inclus, qui répertorie le nom et les informations de version des IDE installés dans l'image.
Désactiver les droits racines 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 votre configuration de station de travail, procédez comme suit:
- Lorsque vous créez votre configuration de station de travail, terminez la configuration pour les informations de base et la configuration de la machine.
- 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.
- Cliquez sur ajouterAjouter une variable.
- Saisissez
CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO
ettrue
comme valeurs.
Étapes suivantes
- Personnalisez vos images de conteneurs.
- Automatisez la recompilation des images de conteneurs pour synchroniser les mises à jour des images de base à l'aide de Cloud Build et de Cloud Scheduler.
- Mettre en place les bonnes pratiques de sécurité