Si algo hemos buscado durante mucho tiempo es poder instalar macOS en un PC para poder disfrutar de las bondades del sistema operativo de Apple sin gastar más de 1000 euros en un equipo Mac. Por desgracia, el ecosistema de Apple es muy cerrado, y no permite, de ninguna manera, instalar su software fuera de él. Desde hace tiempo circulan varias formas de hacerlo (con máquinas virtuales, mediante «hackintosh», etc), pero es bastante complicado y depende de muchos factores que funcione bien. Pero esto ha cambiado de un día para otro.
Docker es una herramienta muy utilizada dentro del ámbito de los servidores personales y de los servicios. Gracias a ella podemos tener pequeños espacios aislados, y dentro de cada uno tener instalado un programa o un servicio. Esto aporta una gran cantidad de ventajas, tanto en rendimiento como en gestión y seguridad. Aunque se asimila mucho a la virtualización de sistemas, en realidad son tecnologías totalmente diferentes.
En la red podemos encontrar todo tipo de contenedores Docker para instalar en nuestro servidor, desde programas hasta infraestructuras completas. Pero uno de los que más me llama la atención, y que he podido probar en mi propio servidor casero, ha sido el que permite instalar macOS dentro de un contenedor Docker. Y lo mejor de todo es que podemos hacerlo sin descargar ni configurar absolutamente nada.
Advertencia Legal y de Uso: Lo que Debes Saber
Antes de empezar con el proceso, os recordamos que instalar macOS fuera de los propios equipos de Apple, así como modificar el software para conseguir que arranque va en contra de los términos de licencia de la compañía.
- Violación del EULA: La cláusula 2.B del EULA de macOS prohíbe explícitamente su instalación en hardware que no sea de marca Apple.
- Riesgos Asociados: Informar al usuario de que esto puede resultar en la inhabilitación de servicios clave como iCloud, iMessage, y la App Store, e incluso el bloqueo de su Apple ID.
- Sin Soporte: Dejar claro que Apple no ofrece ningún tipo de soporte técnico para estas instalaciones.
No va a haber problemas legales, pero recomendamos usarlo solo en entornos personales y privados.
Cómo funciona macOS en Docker
Desde luego, este proyecto es algo que nunca hubiera imaginado. Esta solución es especialmente notable dado que Apple ha consolidado su transición a la arquitectura Apple Silicon (aarch64), como se detalla en sus conferencias para desarrolladores (WWDC). Esto implica que el soporte para la emulación en arquitecturas x86, como la que utiliza este método, podría enfrentar limitaciones a futuro. Pero, gracias a este proyecto de docker, es posible instalar macOS 15 (la última versión hasta la fecha) directamente dentro de un docker, en cualquier PC. No necesitamos máquinas virtuales, ni descargar ninguna ISO, ni gestor de arranque… tan solo ejecutar un docker run, o un compose, y en cuestión de minutos estaremos usando macOS.
Los requisitos que debemos cumplir para poder usar esta versión modificada de macOS son:
- Hardware: CPU con soporte para virtualización (Intel VT-x o AMD-V).
- Software: Docker Desktop para Windows/Mac o Docker Engine en Linux.
- BIOS/UEFI: Instrucción clara de que la virtualización debe estar activada en la configuración de la BIOS/UEFI del PC, con un enlace a una guía genérica sobre cómo hacerlo.
Gracias a la naturaleza de Docker, este macOS estará en un espacio aislado del resto del sistema, por lo que nada de lo que hagamos en él podría afectar al resto del ordenador. Usarlo es totalmente seguro. Podemos acceder al repositorio con sus instrucciones en el siguiente enlace.
Lo primero que tenemos que hacer es instalar Docker en el PC, o servidor, para poder instalar el contenedor del que hablamos. En el anterior enlace, los compañeros de RedesZone nos explican paso a paso cómo instalarlo y cómo funciona, por lo que no entraremos en detalles. Una vez en marcha, podemos instalar macOS de dos formas:
Mediante docker run, con:
docker run -it --rm -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/macos
Mediante Docker Compose, con:
services:
macos:
image: dockurr/macos
container_name: macos
environment:
VERSION: "13"
devices:
- /dev/kvm
cap_add:
- NET_ADMIN
ports:
- 8006:8006
- 5900:5900/tcp
- 5900:5900/udp
stop_grace_period: 2m
Podemos personalizar la instalación con varios parámetros dentro de «environment». Aquí tienes una tabla resumen con los parámetros de «environment» que puedes personalizar:
| Parámetro | Descripción de su función | Ejemplo de uso |
|---|---|---|
| VERSION | Especifica la versión de macOS a instalar (ej. Monterey, Ventura) | VERSION=ventura |
| DISK_SIZE | Define el tamaño del disco virtual asignado (en GB) | DISK_SIZE=128G |
| RAM_SIZE | Determina la memoria RAM asignada al contenedor (en GB) | RAM_SIZE=8G |
| CPU_CORES | Configura el número de núcleos de CPU asignados | CPU_CORES=4 |
| NETWORK_ADAPTER | Personaliza el adaptador de red virtual | NETWORK_ADAPTER=vmxnet3 |
| DISPLAY | Configura los parámetros de visualización | DISPLAY="width=1920,height=1080" |
Una vez que está este contenedor de macOS en marcha, ya podemos conectarnos a él. Esto podemos hacerlo desde el navegador, usando la IP del equipo donde lo corremos (o 127.0.0.1 si es en local) y con el puerto 8006 (por defecto). Veremos el recovery en primer lugar.
El desarrollador del proyecto ‘dockur/macos’ especifica en su documentación que el primer paso indispensable es formatear la unidad de disco virtual de Mac usando la utilidad de disco de macOS. De esta forma la dejamos preparada para instalar macOS. Es un proceso muy sencillo en el que no tardamos más que un par de minutos.
Una vez lista la unidad, de nuevo en el recovery, tenemos que elegir la opción «Reinstall macOS», mediante la cual dará comienzo la instalación del sistema operativo. Lo único que tenemos que hacer es seguir el asistente que nos aparece, y solo prestar atención a la hora de seleccionar la unidad de disco donde lo vamos a instalar (la que hemos formateado justo en el paso anterior).
Listo. Ahora solo queda esperar a que acabe la instalación del sistema, un proceso que puede tardar, dependiendo del equipo, entre media hora o una hora. Y, cuando haya acabado, ya tendremos nuestro sistema macOS listo y totalmente funcionar para usarlo.
En nuestras pruebas nos encontramos con un error, bastante habitual a la hora de instalar este sistema fuera de un Mac real, que hacía que el fondo de pantalla apareciese en blanco. Para solucionarlo, basta con ir a los ajustes de macOS, y cambiar el fondo por otro, como el que hemos configurado nosotros. Una vez listo, ya podemos empezar a usar este sistema operativo como si tuviéramos un Mac real en nuestra casa. Con la diferencia de que no hemos gastado más de 1000 euros en un equipo.
¿Qué tal funciona?
Considerando la complejidad técnica de emular macOS, el rendimiento obtenido a través de KVM es sorprendentemente robusto para tareas de desarrollo y ofimática. Y es que KVM es un hipervisor complicado de usar, pero excelente en rendimiento. No vamos a tener la experiencia pura de macOS, está claro, pero sí que nos va a servir para usar programas y herramientas que solo podemos usar dentro de este sistema operativo, como, por ejemplo, Xcode. Eso sí, debemos ser conscientes de las limitaciones de esta técnica para instalar el sistema de Apple en cualquier PC, y es que los programas que requieran de un uso muy elevado de recursos, como editores de vídeo, o juegos, no van a funcionar, puesto que no tendrán potencia suficiente.
Su desarrollador ahora mismo está trabajando ya en dos mejoras necesarias para mejorar la experiencia de uso. La primera de ellas es poder iniciar sesión con una cuenta de iCloud, ya que debido a la implementación actual no se puede. La última versión del Docker ya incluye los primeros cambios para lograr esto, pero, por ahora, sigue sin ser posible. Y la segunda de ellas es la posibilidad de aumentar la memoria de vídeo para que vaya todo el sistema más fluido, ya que con los 7 MB por defecto es insuficiente. Seguro que, en próximas versiones, podemos ajustar este parámetro mediante un nuevo añadido dentro de «environment».
