Container

En terme de conteneurisation, j'utilisais suivant les usages Docker ou Podman. Dans les deux cas le principe est similaire, on reprend une partie d'un système linux qu'on met dans une boîte avec un programme qu'on a écrit et on ouvre des flux réseaux pour rendre accessible cette boîte à l'extérieur sans que ça n'entache la machine hôte.

Sur MacOS, il fallait passer par de la virtualisation lourde pour utiliser ces solutions de conteneurisation et dédier une machine avec CPU, RAM et espace disque. Mais ça, c'était avant l'annonce de MacOS 26 et surtout d'un programme qui est développé en Swift nommé simplement "Container".

Container seul ne sert à rien, il ne s'agit que d'un client qui utilise une solution de Conteneurisation, ce dernier est développé également par Apple et intègre un kernel linux comme le fait WSL2 de chez Microsoft.

Un test avec une alpine linux
Un autre test avec nginx et une alpine qui fait un curl

Cela signifie qu'il y a désormais une solution simple sur MacOS pour de la conteneurisation qui est moins énergivore que les anciennes méthodes. C'est plus proche du système de base. Le client n'a pas encore de version stable mais propose tout de même les fonctionnalités nécessaires pour travailler avec des images.

GitHub - apple/container: A tool for creating and running Linux containers using lightweight virtual machines on a Mac. It’s written in Swift, and optimized for Apple silicon.
A tool for creating and running Linux containers using lightweight virtual machines on a Mac. It's written in Swift, and optimized for Apple silicon. - GitHub - apple/container: A tool for cre…
GitHub - apple/containerization: Containerization is a Swift package for running Linux containers on macOS.
Containerization is a Swift package for running Linux containers on macOS. - apple/containerization