Ajouter des logiciels à un conteneur existant

Effectué

Votre conteneur personnalisé commence réellement à prendre forme pour votre agence. Grâce à la puissance de Dev Containers, vous avez pu ajouter un conteneur de développement préconfiguré et, par les exercices effectués jusqu’à présent, vous avez personnalisé votre expérience par le biais du fichier devcontainer.json. Mais qu’en est-il si vous souhaitez ajouter des logiciels au-delà de ce qui est disponible dans ces images ou conteneurs de développement préconfigurés ?

Présentation de l’installation de logiciels supplémentaires

Les logiciels supplémentaires peuvent inclure une autre pile technologique pour votre agence. Par exemple, vous souhaitez peut-être inclure Node.js dans l’un de vos conteneurs de développement, car vous savez qu’il fait partie de nombreux workflows de développement.

Lorsque vous avez exécuté Dev Containers: Add Development Container Configuration Files, un dossier .devcontainer a été ajouté à votre application. Il comprenait un fichier devcontainer.json basé sur cette image conteneur. Bien que cette image offre de nombreuses options intéressantes pour notre équipe, nous pouvons être amenés à les étendre en installant des logiciels supplémentaires.

Méthodes d’installation de logiciels

Vous pouvez installer des logiciels via le terminal intégré. La plupart des images conteneur sont basées sur Debian ou Ubuntu, où vous utilisez la commande apt ou apt-get pour installer de nouveaux packages.

Important

Chaque fois que vous installez quelque chose à partir de apt-get, exécutez d’abord apt-get update. Cette commande met à jour la liste des packages et des dépôts de package afin que la liste la plus récente soit présente dans le cache.

Toutefois, si vous apportez des changements à votre dossier .devcontainer et si vous devez regénérer votre conteneur, vous devez réinstaller manuellement tout ce que vous avez installé. Pour éviter ce problème, vous pouvez utiliser la propriété postCreateCommand dans devcontainer.json, comme indiqué dans l’unité précédente.

Toutefois, la méthode la plus efficace pour conserver vos modifications, même après une regénération, consiste à installer les logiciels via une fonctionnalité Feature.

Installation de logiciels via Features

Comme indiqué dans l’unité 5 de ce module, les fonctionnalités « Features » du conteneur de développement sont des unités autonomes pouvant être partagées du code d’installation et de la configuration du conteneur de développement. Ce nom provient de l’idée que le référencement de l’un d’eux vous permet d’ajouter rapidement et facilement d’autres « fonctionnalités » d’outils, d’exécution ou de bibliothèque dans votre conteneur de développement que vous pouvez utiliser, vous ou vos collaborateurs.

Quand vous utilisez la commande VS Code Dev Containers: Add Dev Container Configuration Files, une liste de scripts s’affiche permettant de personnaliser les configurations de conteneur de développement existantes, comme l’installation de Git ou de l’interface Azure CLI.

Quand vous régénérez et rouvrez dans votre conteneur, les Fonctionnalités que vous avez sélectionnées sont disponibles dans votre devcontainer.json :

"features": {
    "ghcr.io/devcontainers/features/azure-cli:1": {
        "version": "latest"
    }
}

La commande VS Code Dev Containers: Configure Container Features permet de mettre à jour une configuration existante.

Les Fonctionnalités provenant de l’interface utilisateur VS Code viennent désormais d’un index central, que vous pouvez explorer et auquel vous pouvez également contribuer.

Vous pouvez consulter plus d’informations sur le fonctionnement des fonctionnalités et leur distribution.

Dans l’exercice suivant, vous allez installer Node.js. Vous vérifierez ensuite si Node.js est disponible dans le conteneur en cours d’exécution.