Favicon of Lima

Lima

Lima launches Linux virtual machines on macOS and other hosts with automatic file sharing and port forwarding, built for running containers.

Open Source Alternative to:
Lima website screenshot
Lima GitHub repository preview

Lima launches Linux virtual machines with automatic file sharing and port forwarding, similar to WSL2 on Windows. It started as a way to bring containerd and nerdctl to Mac users, but it now works for general-purpose Linux workloads too. It's aimed at developers on macOS (and Linux, NetBSD, and other hosts) who need a real Linux environment for containers or command-line tools without configuring a VM by hand.

Under the hood, Lima manages QEMU-based virtual machines and wires up networking, file mounts, and SSH so the guest Linux system feels like an extension of your host. It's a CNCF incubating project, backed by projects like Rancher Desktop, Colima, Finch, and Podman Desktop, which all build on Lima's VM management.

Key features

  • Automatic file sharing: host directories are mounted into the guest VM without manual NFS or Samba setup.
  • Automatic port forwarding: ports opened inside the VM become reachable from the host automatically.
  • Container engine support: works with containerd/nerdctl out of the box, plus templates for Docker and Kubernetes.
  • Multi-host support: runs on macOS, Linux, NetBSD, and other Unix-like systems, not just Mac.
  • Templated VM configs: limactl start template:docker or template:k8s spins up preconfigured environments for common use cases.
  • CLI-first workflow: lima and limactl commands let you run Linux commands, manage VM lifecycle, and export kubeconfig/docker socket paths for direct use.
  • SBOM output: release artifacts include CycloneDX SBOMs (both "app" and "mod" variants) for supply-chain visibility.

Ideal use cases

Lima fits developers who need a disposable or persistent Linux VM on macOS to run containers, test CLI tools, or develop against a Linux-specific toolchain. It's a good fit if you want Docker or Kubernetes running locally without installing Docker Desktop, or if you want direct access to containerd/nerdctl instead of a heavier GUI-based tool.

It also works well for teams building their own desktop tooling: Rancher Desktop, Colima, Finch, and Podman Desktop all use Lima as their underlying VM engine, so it's a reasonable base if you're building a similar product.

It's less of a fit if you're already on Linux and don't need a VM layer at all (containers run natively there), or if you need a production hypervisor with enterprise VM management features. It's also not designed for Windows hosts; WSL2 already covers that case natively.

Installation

On macOS, install with Homebrew and start the default VM:

brew install lima
limactl start

Run a Linux command inside the VM:

lima uname -a

Run a container with containerd/nerdctl:

lima nerdctl run --rm hello-world

Run containers with Docker instead, using a template:

limactl start template:docker
export DOCKER_HOST=$(limactl list docker --format 'unix://{{.Dir}}/sock/docker.sock')
docker run --rm hello-world

Run Kubernetes with a template:

limactl start template:k8s
export KUBECONFIG=$(limactl list k8s --format 'unix://{{.Dir}}/copied-from-guest/kubeconfig.yaml')
kubectl apply -f ...

Full setup and configuration details are in the official documentation.

Frequently asked questions

Share:

Stars
22.1K
Forks
984
Last commit
1 day ago
Repository age
5 years
License
Apache-2.0
Self-hosted
Yes
Activity score
81/100
View Repository
Ad
Favicon

 

  
 

Similar to Lima

Favicon

 

  
 
Favicon

 

  
 
Favicon