Lima is a virtual machine management tool designed to launch Linux environments with automatic file sharing and port forwarding capabilities. It supports both QEMU and WSL2 backends, making it versatile for users across macOS, Linux, and other platforms.
Key Features:
Launches Linux virtual machines seamlessly with built-in support for file sharing and port forwarding.
Enables the use of container engines like containerd, Docker, Podman, and Kubernetes within the VMs.
Cross-platform compatibility, supporting development workflows on macOS, Linux, NetBSD, and more.
Simplifies integration with existing tools by automatically configuring shared directories and ports.
Audience & Benefit:
Ideal for developers and teams working with containers or Linux environments, Lima streamlines local development by providing a consistent and isolated workspace. It eliminates the need for manual configuration of file sharing and port forwarding, allowing users to focus on their work while maintaining productivity across different operating systems.
Lima can be installed via winget, ensuring easy setup and integration into your workflow.
Lima launches Linux virtual machines with automatic file sharing and port forwarding (similar to WSL2).
The original goal of Lima was to promote containerd including nerdctl (contaiNERD ctl)
to Mac users, but Lima can be used for non-container applications as well.
Lima also supports other container engines (Docker, Podman, Kubernetes, etc.) and non-macOS hosts (Linux, NetBSD, etc.).
Getting started
Set up (Homebrew):
brew install lima
limactl start
To run Linux commands:
lima uname -a
To run containers with containerd:
lima nerdctl run --rm hello-world
To run containers with Docker:
limactl start template:docker
export DOCKER_HOST=$(limactl list docker --format 'unix://{{.Dir}}/sock/docker.sock')
docker run --rm hello-world
The "sbom" download contains SBOM in the CycloneDX format since v2.3.
There are both "app" *.bom.json and "mod" bom.json files:
SBOMs generated with "app" include only those modules that the target application
actually depends on. Modules required by tests or packages that are not imported
by the application are not included. Build constraints are evaluated, which enables
a very detailed view of what's really compiled into an application's binary.
SBOMs generated with "mod" include the aggregate of modules required by all
packages in the target module. This optionally includes modules required by
tests and test packages. Build constraints are NOT evaluated, allowing for
a "whole picture" view on the target module's dependencies.
Contributing
We welcome contributions! Please see our Contributing Guide for details on:
Developer Certificate of Origin (DCO): All commits must be signed off with git commit -s
Code licensing and pull request guidelines
Testing requirements
Community
Adopters
Container environments:
Rancher Desktop: Kubernetes and container management to the desktop
Colima: Docker (and Kubernetes) on macOS with minimal setup
Finch: Finch is a command line client for local container development
Podman Desktop: Podman Desktop GUI has a plug-in for Lima virtual machines
GUI:
Lima xbar plugin: xbar plugin to start/stop VMs from the menu bar and see their running status.