El ecosistema de máquinas virtuales y contenedores continúa evolucionando, con herramientas que buscan optimizar el uso de sistemas Linux en entornos macOS y más allá. Una de esas soluciones es Lima, un proyecto que permite ejecutar máquinas virtuales Linux de manera sencilla con características como compartición automática de archivos, reenvío de puertos y compatibilidad con múltiples motores de contenedores. Esta solución, similar a WSL2 en Windows, ha ganado popularidad entre desarrolladores que necesitan un entorno de Linux sin salir de sus sistemas operativos principales.
¿Qué es Lima y por qué es relevante?
Lima es una herramienta que permite la ejecución de máquinas virtuales Linux en sistemas macOS, Linux y NetBSD, simplificando la experiencia para quienes trabajan con contenedores o necesitan un entorno Linux completo. Su desarrollo inicial tenía como objetivo promocionar containerd y su herramienta de gestión nerdctl para usuarios de macOS, pero su versatilidad ha permitido su uso en múltiples aplicaciones fuera del ámbito de los contenedores.
Algunas de sus características más destacadas incluyen:
✅ Compartición automática de archivos entre el sistema anfitrión y la máquina virtual.
✅ Reenvío automático de puertos, facilitando el acceso a servicios internos.
✅ Compatibilidad con containerd, Docker, Podman y Kubernetes para la gestión de contenedores.
✅ Soporte para arquitecturas x86 y ARM, permitiendo ejecutar entornos cruzados como ARM en Intel o Intel en ARM.
✅ Compatibilidad con varias distribuciones Linux, incluyendo Ubuntu, Debian, Fedora, Arch Linux, AlmaLinux, openSUSE y Rocky Linux.
Gracias a estas características, Lima se ha convertido en una solución atractiva para quienes buscan un entorno de Linux sin la complejidad de una configuración manual extensa.

Cómo empezar con Lima en macOS
Para comenzar a utilizar Lima en macOS, el proceso es bastante sencillo. Basta con instalarlo a través de Homebrew y ejecutar el primer entorno Linux:
brew install lima
limactl start
Una vez configurado, se pueden ejecutar comandos dentro de la máquina virtual:
lima sudo apt-get install -y neofetch
lima neofetch
Lima también permite la ejecución de contenedores con containerd o Docker. Para ello, se deben seguir los siguientes pasos:
Ejecución de contenedores con containerd
lima nerdctl run --rm hello-world
Ejecución de contenedores con Docker
limactl start template://docker
export DOCKER_HOST=$(limactl list docker --format 'unix://{{.Dir}}/sock/docker.sock')
docker run --rm hello-world
Para utilizar Kubernetes dentro de Lima, se puede iniciar una instancia basada en k3s:
limactl start template://k8s
export KUBECONFIG=$(limactl list k8s --format 'unix://{{.Dir}}/copied-from-guest/kubeconfig.yaml')
kubectl apply -f ...
Toda la documentación oficial y las configuraciones avanzadas pueden encontrarse en Lima VM Docs.
Distribuciones Linux compatibles con Lima
Lima ofrece compatibilidad con múltiples distribuciones Linux, brindando a los usuarios una gran flexibilidad para elegir el entorno que mejor se adapte a sus necesidades. Algunas de las distribuciones disponibles incluyen:
⭐ Ubuntu (por defecto)
⭐ Debian 12 (Bookworm)
⭐ Fedora
⭐ openSUSE Leap
☆ Alpine Linux
☆ Arch Linux
☆ Oracle Linux 9
☆ Rocky Linux 9
☆ AlmaLinux 9
☆ CentOS Stream 9
Además, existen versiones experimentales para distribuciones como Gentoo y openSUSE Tumbleweed, lo que amplía aún más las posibilidades para los usuarios avanzados.
Comparación con WSL2 y otras alternativas
Si bien Lima ofrece una experiencia similar a WSL2 en Windows, existen algunas diferencias clave:
Característica | Lima | WSL2 |
---|---|---|
Soporte en macOS/Linux | ✅ Sí | ❌ No |
Integración con Docker | ✅ Sí | ✅ Sí |
Compartición de archivos | ✅ Automática | ⚠️ Manual en algunos casos |
Reenvío de puertos | ✅ Automático | ⚠️ Requiere configuración |
Arquitecturas soportadas | ✅ x86 y ARM | ✅ x86 y ARM |
Compatibilidad con distros | ✅ Varias opciones | ✅ Varias opciones |
Lima destaca por su compatibilidad con diferentes arquitecturas, la facilidad de uso y su integración nativa con múltiples motores de contenedores. Además, al ser un proyecto de código abierto bajo licencia Apache 2.0, no está sujeto a las limitaciones de otras herramientas comerciales.
Personalización y configuración avanzada
Lima permite una personalización avanzada mediante archivos YAML. Algunos ajustes clave incluyen:
Creación de una instancia personalizada
limactl create --name=mi_instancia template://docker
limactl start mi_instancia
Ejecución de comandos dentro de la máquina virtual
limactl shell mi_instancia uname -a
Para facilitar la administración de múltiples entornos, Lima también ofrece soporte para autocompletado en bash y zsh.
Conclusión: ¿Es Lima la mejor opción para entornos Linux en macOS?
Lima ha demostrado ser una herramienta versátil y potente para quienes necesitan un entorno Linux en macOS sin la sobrecarga de configurar máquinas virtuales manualmente. Su enfoque en la automatización de tareas como la compartición de archivos, reenvío de puertos y compatibilidad con contenedores la convierten en una opción competitiva frente a alternativas como WSL2.
Si bien aún presenta algunas limitaciones en cuanto a integración con sistemas Windows, su compatibilidad con múltiples distribuciones y arquitecturas, junto con su modelo de código abierto, la posiciona como una de las mejores soluciones para ejecutar Linux en macOS y más allá.
Para desarrolladores que buscan una alternativa ligera y altamente configurable, Lima es una excelente opción que continúa evolucionando con el apoyo de la comunidad.