-
Découvrez Containerization
Découvrez Containerization, un projet open source écrit en Swift permettant de créer et d'exécuter des conteneurs Linux sur votre Mac. Découvrez comment Containerization aborde les conteneurs Linux de manière sécurisée et privée. Découvrez comment l'outil open source Container CLI utilise le package Containerization pour fournir des fonctionnalités simples, mais puissantes pour créer, exécuter et déployer des conteneurs Linux sur Mac.
Chapitres
- 0:00 - Introduction
- 0:48 - Qu’est-ce qu’un conteneur ?
- 3:50 - Présentation approfondie de Containerization : Gestion des images
- 5:53 - Présentation approfondie de Containerization : Virtualisation
- 6:53 - Présentation approfondie de Containerization : Environnement de conteneur
- 9:19 - Outils de ligne de commande
- 11:45 - Conclusion
Ressources
-
Rechercher dans cette vidéo…
-
-
9:58 - Container Image Pull
container image pull alpine:latest -
10:43 - Container Run
container run -t -i alpine:latest sh
-
-
- 0:00 - Introduction
Un nouveau framework Swift open source, Containerization, permet de créer des applications Linux conteneurisées, sécurisées et performantes avec une expérience native. Le framework propose des API et un outil en ligne de commande pour créer, gérer et exécuter des conteneurs.
- 0:48 - Qu’est-ce qu’un conteneur ?
Les conteneurs Linux révolutionnent le déploiement serveur en isolant charges de travail et dépendances, et en permettant aux développeurs de packager leurs applications avec leurs besoins. Ce packaging garantit des environnements cohérents dans tous les environnements locaux et de production, facilitant développement et tests. Les conteneurs assurent une isolation pendant leur exécution, et pour exécuter des conteneurs Linux sur macOS, la virtualisation est nécessaire. Containerization vise à assurer une isolation sécurisée, réduire la surcharge des machines virtuelles, améliorer la confidentialité grâce au contrôle d’accès par conteneur, et offrir une expérience performante qui respecte les ressources utilisateur.
- 3:50 - Présentation approfondie de Containerization : Gestion des images
Containerization fournit des API pour gérer les images et exécuter les conteneurs, ainsi qu’un puissant système d’initialisation intégré à Swift. Containerization fonctionne en récupérant les images depuis un registre. L’image sert de modèle, contenant le système de fichiers et la configuration par défaut du nouveau conteneur. La configuration de l’image définit le processus par défaut, le répertoire de travail et l’identité utilisateur. Containerization expose le système de fichiers de l’image comme un périphérique bloc, formaté en EXT4, un système largement utilisé sous Linux.
- 5:53 - Présentation approfondie de Containerization : Virtualisation
Pour remplir un système de fichiers EXT4 depuis Swift, le système lance une VM Linux exécutant un conteneur qui, via la conteneurisation, offre une isolation légère au niveau VM, un démarrage en moins d’1 seconde, des IP dédiées pour chaque conteneur, et un partage sécurisé des fichiers et répertoires.
- 6:53 - Présentation approfondie de Containerization : Environnement de conteneur
Containerization utilise une VM avec allocation dynamique des ressources CPU et mémoire uniquement quand les conteneurs sont actifs. Dans cette VM, un système minimal contient le binaire vminitd, un système d’initialisation développé en Swift. vminitd s’exécute comme premier processus, gérant les interfaces réseau, montant les systèmes de fichiers, et lançant et supervisant tous les processus suivants. Pour renforcer la sécurité, le système de fichiers est épuré : utilitaires de base, bibliothèques dynamiques et libc sont supprimés. Pour cela, vminitd est compilé en exécutable statique avec le Static Linux SDK de Swift.
- 9:19 - Outils de ligne de commande
Containerization offre une API puissante pour créer des solutions autour des conteneurs Linux. L’outil en ligne de commande container utilise ces API pour gérer stockage, images, réseaux et exécution des conteneurs. Les utilisateurs peuvent récupérer des images avec container image pull, puis lancer des conteneurs interactifs via container run -t -i
. Cette approche crée une VM légère avec isolation, comme le montre ps aux qui n’affiche que les processus du conteneur. L’outil est disponible sur GitHub. - 11:45 - Conclusion
macOS prend désormais en charge les API Containerization pour des conteneurs Linux sécurisés, privés et performants. Accédez au framework Containerization sur GitHub, explorez le code source et découvrez des exemples. L’outil de conteneur est prêt à l’emploi, et les retours de la communauté sont les bienvenus sur GitHub.