
Voilà une idée qui va vous paraître un peu folle : Faire tourner MacOS sur une machine Linux et cela, depuis une image Docker. C'est ce que propose le projet Docker-OSX disponible sur GitHub depuis quelques semaines.
Ça tombe très bien, car je voulais me faire une idée de MacOS avant de demander ma prochaine machine de travail. En effet, au départ je voulais acheter un MacBook Pro d'occasion, mais je vais en faire l'économie grâce à ce projet.

Prérequis pour installer Docker-OSX
Il faut que sur la machine Linux soit installé KVM et Docker. Sur une machine à base de Redhat :
sudo dnf install @virtualizationIl faut un processeur avec au moins 8 cores. Attention Docker-OSX prend beaucoup de place : 40 Go si ne vous voulez pas de persistance et 200 Go. Pour la mémoire 8 Go sur la machine est un minimum dont 4 Go pour MacOS.
Lancement de Docker-OSX
L'image Docker-OSX prend tout en charge, même le téléchargement de l'outil d'installation de MacOS. Pour que l'installation soit persistante i
Voici la ligne de commande pour installer MacOS Catalina.
docker run -it \ --device /dev/kvm \ -p 50922:10022 \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -e "DISPLAY=${DISPLAY:-:0.0}" \ sickcodes/docker-osx:latestPour installer MacOS Big Sur, il faudra remplacer le nom de l'image par
sickcodes/docker-osx:big-sur.
On peut aussi lancer une version préinstallée de Catalina, ce qui ira plus vite :
# 40GB disk space required: 20GB original image 20GB your container.docker pull sickcodes/docker-osx:auto
# boot directly into a real OS X shell with a visual display [NOT HEADLESS]docker run -it \ --device /dev/kvm \ -p 50922:10022 \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -e "DISPLAY=${DISPLAY:-:0.0}" \ -e GENERATE_UNIQUE=true \ sickcodes/docker-osx:auto
# username is user# passsword is alpinePour ajouter des ressources il suffit d'ajouter les extra-vars suivant à la
ligne de commande : -e RAM=8G -e CPU_STRING=8
Ensuite comme indiqué on peut se connecter à la machine via une SSH avec le user
user et mot de passe alpine via le port 50922.
Vous pouvez utiliser également VNC pour accéder à l'interface graphique de MacOS.
Pour le moment je n'ai pas réussi à le faire fonctionner sur ma VM Linux de mon PC tournant sur Windows, mais cela doit car il existe des instructions pour le faire depuis WSL. Si je trouve je mettrais à jour le billet.
À lire ensuite
- Tester vos API swagger/openAPI avec Dredd
Découvrez comment tester vos API Swagger/OpenAPI facilement avec Dredd, une solution simple et efficace pour garantir la qualité de vos services.
- Contrôler vos VM sous FlatCar avec Nabraska
Utilisez Nebraska pour contrôler les mises à jour Flatcar Linux en interne : déploiement via Docker Compose, configuration des clients, rollback et suivi centralisé.
- DirectAccess avec des VM Linux
Accédez à votre réseau d’entreprise avec DirectAccess depuis une VM Linux : IPv6, VirtualBox, WSL, DNS et configuration réseau expliquées pas à pas.
- VM Linux sous Windows 10 avec vagrant et KVM
Provisionnez des VM Linux Oracle sous Windows 10 avec Vagrant et KVM : guide complet avec Hyper-V, Ansible, Docker et Test Kitchen.