Docker-OSX virtualise facilement macOS dans Docker
- Alban Martin
- Il y a 5 ans
- 💬 Réagir
- 🔈 Écouter
Les développeurs utilisant le conteneur Docker vont être ravis d'apprendre qu'il est désormais possible de virtualiser macOS sans effort avec Docker-OSX. De quoi créer une machine virtuelle sandboxé avec l'écosystème Apple.
Si vous ne connaissez pas Docker, il s'agit d'un outil par les administrateurs systèmes pour créer des serveurs dédiés à une tâche et indépendant d'un environnement. Les applications et les dépendances sont inclus dans un même conteneur qu'on peut déplacer à souhait.
Mais à la base, Docker est un outil de virtualisation comme les autres pour virtualiser Linux et donc MacOS. Le projet Docker-OSX disponible sur GitHub depuis un petit moment rend la tâche encore plus facile.
Docker-OSX facilite la virtualisation de macOS
Si cela vous intéresse, il faut savoir que Docker-OSX ne tourne que sur un ordinateur configuré pour gérer la virtualisation matérielle KVM, soit une virtualisation hardware à activer avec une ligne de commande sous Linux, même si il existe une solution pour Windows. Par contre, on ne peut pas virtualiser MacOS dans MacOS.
# ARCH
sudo pacman -S qemu libvirt dnsmasq virt-manager bridge-utils flex bison ebtables edk2-ovmf
# UBUNTU DEBIAN
sudo apt install qemu qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager
# CENTOS RHEL FEDORA
sudo yum install libvirt qemu-kvm -y
# then run
sudo systemctl enable libvirtd.service
sudo systemctl enable virtlogd.service
sudo modprobe kvm
# reboot
Une fois que vous avez Docker sur votre machine, Docker-OSX se lance comme tout autre projet Docker avec une ligne de commande, une fois celui-ci récupéré :
# récupération
docker pull sickcodes/docker-osx
# lancement
docker run --privileged -e "DISPLAY=${DISPLAY:-:0.0}" -v /tmp/.X11-unix:/tmp/.X11-unix sickcodes/docker-osx
L'image de macOS est à récupérer sur le Docker Hub, ce qui vous permettra d'avoir une machine virtuelle sous macOS Catalina et un volume de stockage de 200 Go. Par défaut, l'image Docker sera bien évidemment réinitialisée à chaque lancement mais il est possible de persister les données pour travailler dessus au quotidien.
# look at your recent containers and copy the CONTAINER ID
docker ps --all
# docker start the container ID
docker start abc123xyz567
Tout est expliqué sur le projet Docker-OSX open-source qui est entièrement gratuit.