ScriptsMay 1, 2026·3 min read

Lima — Linux Virtual Machines for Container Development

Run Linux VMs on macOS and Linux with automatic file sharing, port forwarding, and containerd integration for seamless container workflows.

Introduction

Lima launches Linux virtual machines with automatic file sharing, port forwarding, and containerd integration. It was created to make running Linux containers on macOS as frictionless as possible, without requiring Docker Desktop or heavy VM management.

What Lima Does

  • Provisions Linux VMs using QEMU or Apple Virtualization.framework on macOS
  • Shares host directories into the guest via reverse-sshfs or virtiofs
  • Forwards guest ports to the host automatically
  • Integrates with containerd and nerdctl for rootless container workflows
  • Supports multiple VM instances with independent configurations

Architecture Overview

Lima uses QEMU (or vz on Apple Silicon) to run a full Linux kernel inside a lightweight VM. A background agent manages SSH tunnels for file sharing and port forwarding between the host and guest. Configuration is driven by YAML templates that define CPU, memory, disk, mounts, and provisioning scripts. The guest runs a standard Linux userspace where containerd operates natively.

Self-Hosting & Configuration

  • Install via Homebrew on macOS or from binary releases on Linux
  • Create VMs with limactl start using built-in or custom YAML templates
  • Adjust CPU, memory, and disk in the template before first boot
  • Mount host directories read-write by setting writable: true in the YAML
  • Use lima prefix to run commands inside the default VM instance

Key Features

  • Near-native performance on Apple Silicon via Virtualization.framework
  • Rootless container support through containerd and nerdctl
  • Multiple VM templates for Ubuntu, Fedora, Arch, Alpine, and more
  • Automatic SSH key management with no manual configuration
  • Works alongside Docker Desktop or as a standalone replacement

Comparison with Similar Tools

  • Colima — wraps Lima with Docker-compatible CLI defaults; Lima offers lower-level VM control
  • Docker Desktop — proprietary GUI with built-in Docker Engine; Lima is open source and CLI-driven
  • Multipass — Canonical's Ubuntu-focused VM manager; Lima supports more distros and container runtimes
  • Podman Machine — Podman-specific VM layer; Lima is runtime-agnostic
  • UTM — GUI-oriented macOS VM app; Lima is headless and scriptable

FAQ

Q: Does Lima require Docker Desktop? A: No. Lima uses containerd and nerdctl by default, providing a fully independent container workflow without Docker.

Q: Can I run Lima on Intel Macs? A: Yes. Lima supports both Intel and Apple Silicon Macs via QEMU, and Apple Silicon additionally through Virtualization.framework.

Q: How do I access services running inside the VM? A: Lima automatically forwards ports from the guest to the host, so services are reachable on localhost without extra configuration.

Q: Can I use Lima in CI pipelines? A: Yes. Lima is fully CLI-driven and scriptable, making it suitable for headless CI environments on macOS or Linux runners.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets