Recherche de site Web

Toolbx : Gérer plusieurs conteneurs de développement dans Fedora


Le développement moderne sur Linux a dépassé l'approche traditionnelle consistant à tout installer directement sur votre système. Vous avez désormais accès à des outils qui vous aident à créer des environnements de développement isolés sans avoir à gérer le surcoût des machines virtuelles complètes ou la complexité de la gestion manuelle des conteneurs.

C'est là qu'Fedora Toolbx entre en jeu – un outil qui facilite la création d'environnements de développement conteneurisés tout en gardant une expérience aussi fluide que de travailler directement sur votre système hôte.

Dans ce guide, vous apprendrez à configurer et à utiliser Fedora Toolbx pour créer des environnements de développement isolés, reproductibles et faciles à gérer. Vous découvrirez comment Toolbx vous aide à travailler sur plusieurs projets avec des dépendances conflictuelles tout en gardant votre système de base propre et organisé.

Le guide vous accompagne à travers les bases de Toolbx avec des explications simples et pratiques. Vous apprenez d'abord ce qu'est Toolbx et pourquoi vous en avez besoin, puis vous passez à l'installation et à la configuration sur votre système Fedora. Après cela, vous créez votre premier conteneur de développement et comprenez comment gérer efficacement plusieurs environnements.

Les sections finales vous montrent les flux de travail courants et les meilleures pratiques qui vous aident à tirer le meilleur parti de Toolbx dans votre travail de développement quotidien.

Remarque : Toolbx a été initialement développé pour Fedora et fonctionne mieux sur les systèmes basés sur Fedora, bien que vous puissiez l'utiliser sur d'autres distributions Linux modernes également, mais ce guide se concentre principalement sur Fedora.

Comprendre Toolbx : Qu'est-ce qui le rend différent

Avant de commencer à travailler avec Toolbx, il est important de comprendre ce qu'il fait réellement et pourquoi vous en avez besoin dans votre flux de développement.

Toolbx crée des environnements containerisés en utilisant Podman, qui est un moteur de conteneurs similaire à Docker mais fonctionne sans daemon.

Ce qui distingue Toolbx, c'est la manière dont il intègre étroitement ces conteneurs avec votre système hôte, vous offrant une expérience de développement fluide qui ne se sent pas restrictive comme les conteneurs traditionnels.

Lorsque vous travaillez avec des conteneurs Toolbx, vous bénéficiez de plusieurs avantages clés qui facilitent votre travail de développement :

  • Accès transparent au répertoire personnel – Votre répertoire personnel est monté automatiquement dans le conteneur, ce qui signifie que vos fichiers, configurations et clés SSH sont immédiatement disponibles sans configuration supplémentaire.
  • Accès direct au matériel – Les périphériques graphiques, audio et autres fonctionnent immédiatement sans nécessiter de configuration spéciale ou de procédures de montage compliquées.
  • Intégration de l'hôte – Vous pouvez exécuter des applications graphiques, accéder au réseau et interagir avec votre système comme si vous travailliez directement sur votre système hôte plutôt qu'à l'intérieur d'un conteneur.

Vous pouvez considérer Toolbx comme créant une “bulle” protégée autour de vos outils de développement et dépendances. À l'intérieur de cette bulle, vous pouvez installer tous les packages, bibliothèques ou outils dont vous avez besoin pour un projet spécifique sans affecter votre système principal.

Dans les sections suivantes, vous apprendrez comment installer Toolbx sur votre système Fedora et commencer à créer ces environnements de développement isolés.

Installation de Toolbx sur Fedora

Sur Fedora Workstation (version 28 et ultérieure), toolbx est préinstallé, et vous pouvez le vérifier en exécutant la commande suivante.

toolbox --version

Si vous voyez un numéro de version, vous êtes prêt à partir, si Toolbx n'est pas installé, vous pouvez l'ajouter avec :

sudo dnf install toolbox

C'est tout pour l'installation. Pas de fichiers de configuration complexes, pas de configuration de démon, pas de dépendances supplémentaires à gérer.

Créer votre premier conteneur Toolbx

Créer un conteneur Toolbx est un processus simple que vous pouvez réaliser en une seule commande, qui créera un conteneur par défaut basé sur votre version actuelle de Fedora.

Si vous utilisez Fedora 41, par exemple, il crée automatiquement un conteneur Fedora 41 pour vous. La première fois que vous exécutez cette commande, Toolbx télécharge l'image du conteneur, ce qui prend quelques minutes selon la vitesse de votre connexion Internet.

toolbox create

Une fois le conteneur créé, vous pouvez y entrer en exécutant la commande suivante :

toolbox enter

Vous remarquerez la petite icône de conteneur (⬢) qui apparaît dans l'invite, ce qui indique que vous êtes à l'intérieur de votre conteneur Toolbx.

Même si vous travaillez dans un environnement conteneurisé, vous constaterez que votre répertoire personnel, vos fichiers et la plupart de l'environnement de votre système hôte restent facilement accessibles tout comme ils le seraient sur votre système principal.

Utiliser différentes versions de Fedora

Parfois, vous devez travailler avec une version spécifique de Fedora, peut-être que vos serveurs de production utilisent une version plus ancienne, ou vous voulez tester la compatibilité avec la dernière version avant de mettre à jour votre système principal.

Toolbx facilite cela avec l'option --release ou -r :

toolbox create --release 39 fedora39-container
toolbox create --release 41 testing-fedora41

Vous pouvez même utiliser des conteneurs de versions plus anciennes de Fedora tout en exécutant une version plus récente sur votre système hôte, ce qui vous offre un moyen pratique de maintenir la compatibilité avec différents environnements.

Tester votre environnement de conteneur

Pour vérifier que vous êtes réellement à l'intérieur du conteneur et voir en quoi il diffère de votre système hôte, vous pouvez exécuter quelques commandes simples, par exemple vérifier quels paquets sont installés.

dnf list installed | wc -l

Vous pouvez également vérifier le nom d'hôte du conteneur :

hostname

Pour voir votre répertoire de travail actuel et vérifier que votre répertoire personnel est accessible :

pwd
ls -la

Vous remarquerez que vous êtes dans votre répertoire personnel avec tous vos fichiers et dossiers familiers visibles, même si vous êtes à l'intérieur d'un conteneur.

Installer un logiciel à l'intérieur de votre conteneur

Maintenant que vous êtes à l'intérieur du conteneur, vous pouvez installer des outils de développement sans affecter votre système hôte. Par exemple, si vous voulez configurer un environnement de développement Python :

sudo dnf install python3-pip python3-virtualenv git vim -y

Si vous quittez le conteneur et vérifiez votre système hôte, ces paquets ne seront pas installés là-bas, ils existent uniquement dans votre environnement Toolbx.

Essayons un autre exemple avec les outils de développement Node.js.

sudo dnf install nodejs npm -y
node --version
npm --version

Ces commandes installent Node.js et npm, puis vérifient l'installation en contrôlant leurs versions. Encore une fois, cette installation est complètement isolée de votre système hôte.

Lorsque vous avez terminé de travailler dans votre conteneur, vous pouvez en sortir simplement en exécutant :

exit

Créer des conteneurs nommés pour différents projets

Bien que le conteneur par défaut fonctionne bien pour le travail de développement général, vous aurez souvent besoin de conteneurs séparés pour différents projets ou objectifs spécifiques. La création de conteneurs nommés vous aide à organiser vos environnements de développement plus efficacement et à garder votre travail isolé.

Pour créer des conteneurs nommés, vous exécutez la commande toolbox create suivie du nom que vous souhaitez donner à votre conteneur :

toolbox create python-dev
toolbox create nodejs-project
toolbox create rust-experiments

Chacune de ces commandes crée un conteneur distinct avec son propre environnement isolé. Lorsque vous souhaitez travailler sur un projet spécifique, vous entrez dans le conteneur correspondant en fournissant son nom avec la commande enter :

toolbox enter python-dev

Cette approche vous aide à maintenir des environnements complètement isolés pour différents types de travaux de développement. Par exemple, votre conteneur Python peut exécuter Python 3.12 avec toutes ses dépendances modernes, tandis que le conteneur de votre projet legacy pourrait utiliser Python 3.8 avec des bibliothèques plus anciennes, et aucun des environnements n'interférera avec l'autre ni n'affectera votre système hôte de quelque manière que ce soit.

Exécution d'applications graphiques depuis Toolbx

Ce qui rend Toolbx vraiment spécial, c'est sa capacité à exécuter des applications graphiques de manière fluide depuis vos conteneurs. Contrairement aux conteneurs traditionnels, qui nécessitent une configuration complexe de X11 et de l'acheminement.

Toolbx gère automatiquement toute l'intégration de l'affichage, donnant l'impression que vous exécutez les applications directement sur votre système hôte.

Pour voir comment cela fonctionne en pratique, installons et exécutons un éditeur de texte graphique à titre d'exemple.

toolbox enter
sudo dnf install gedit -y

Une fois l'installation terminée, vous pouvez lancer l'éditeur.

gedit &

La fenêtre gedit s'ouvre sur votre bureau comme si vous l'aviez lancée depuis votre système hôte. Vous pouvez créer, éditer et enregistrer des fichiers, et tout fonctionne exactement comme vous vous y attendriez.

L’esperluette (&) à la fin lance l’application en arrière-plan, vous permettant de continuer à utiliser votre terminal pendant que l’application graphique reste ouverte.

Gérer plusieurs conteneurs Toolbx

Au fur et à mesure que vous créez plus de conteneurs pour différents projets, vous aurez besoin d’un moyen de les suivre et de les gérer efficacement. Toolbx fournit plusieurs commandes qui vous aident à visualiser, contrôler et organiser vos environnements conteneurisés.

Lister vos conteneurs

Pour voir tous les conteneurs que vous avez créés, vous exécutez la commande list :

toolbox list

À partir de cette sortie, vous pouvez voir quels conteneurs sont actuellement en cours d'exécution et lesquels se sont arrêtés.

Vérification des détails du conteneur

Si vous voulez des informations plus détaillées sur un conteneur spécifique, vous pouvez utiliser Podman directement puisque les conteneurs Toolbx sont des conteneurs Podman normaux :

podman ps -a

Vous pouvez également inspecter un conteneur spécifique pour voir sa configuration complète :

podman inspect python-dev

Arrêter et démarrer des conteneurs en cours d'exécution

Lorsque vous avez terminé de travailler dans un conteneur et que vous souhaitez libérer des ressources système, vous pouvez l'arrêter explicitement.

podman stop python-dev

Vous pouvez vérifier que le conteneur s'est arrêté en exécutant à nouveau la commande de liste :

toolbox list

Vous verrez que le statut du conteneur est passé de « en cours d'exécution » à « terminé ».

Si vous avez un conteneur qui est actuellement arrêté et que vous voulez l’utiliser à nouveau, vous n’avez qu’à y entrer, et Toolbx le démarre automatiquement pour vous :

toolbox enter python-dev

Supprimer les conteneurs dont vous n'avez plus besoin

Au fil du temps, vous pourriez accumuler des conteneurs que vous n'utilisez plus, et ces conteneurs occupent de l'espace disque sur votre système. Lorsque vous êtes certain de ne plus avoir besoin d'un conteneur, vous pouvez le supprimer complètement en utilisant la commande rm :

toolbox rm python-dev

Avant de supprimer le conteneur, Toolbx vous demande de confirmer l'action, il suffit de taper y pour confirmer, et Toolbx supprime le conteneur ainsi que tous les paquets et configurations que vous y avez installés.

Note importante : La suppression d'un conteneur supprime tous les paquets, les configurations système et toutes les données stockées dans le système de fichiers du conteneur, mais les fichiers de votre répertoire personnel restent complètement sûrs.

Après la suppression, vous pouvez vérifier l'utilisation du disque de tous vos conteneurs, images et volumes avec :

podman system df

Si vous voulez libérer de l'espace disque en supprimant tous les conteneurs arrêtés et les images inutilisées, vous pouvez exécuter une commande de nettoyage :

podman system prune
Conclusion

Toolbx vous offre un moyen puissant de gérer les environnements de développement sur votre système Fedora sans la complexité des machines virtuelles traditionnelles.

Tout au long de ce guide, vous avez appris à créer des conteneurs isolés, à exécuter des applications graphiques et à gérer plusieurs environnements de développement tout en gardant votre système de base propre.

Avez-vous trouvé ce guide utile ? Partagez votre expérience, vos questions ou vos conseils dans les commentaires ci-dessous. Vos retours nous aident à améliorer notre contenu et assistent les autres lecteurs dans leur parcours Toolbx. :