
大家好,我是民工哥!
众所周知,虚拟机工具(如 VMware、VirtualBox、Hyper-V 等)通过模拟硬件环境创建独立的虚拟计算机系统,在开发、测试、运维、安全等领域提供了显著优势。
这些虚拟机工具通过隔离性、兼容性、灵活性、成本效益和安全性,成为现代 IT 架构中不可或缺的部分。
无论是个人用户(如多系统切换、安全测试)还是企业(如服务器虚拟化、云部署),都能通过虚拟机工具显著提升效率、降低成本并增强系统稳定性。
随着技术的不断发展,云原生时代的到来,传统虚拟机工具(如VMware Workstation、VirtualBox、Hyper-V等)虽然功能强大,但在实际使用中仍存在一些显著痛点。
所以,迫切需要一款能够解决这些问题的替代工具出现。
今天,就给大家介绍一款开源的、轻量级虚拟机管理工具:Lima。

Lima 是一款开源的轻量级 Linux 虚拟机管理工具,专为高效容器化工作流设计,在跨平台兼容性、资源效率和开发体验上表现突出,尤其适合需要 Linux 环境的 macOS 开发者。
资源占用低:基于 QEMU 或 macOS 原生虚拟化技术(如 Virtualization.framework),内存占用和 CPU 开销显著低于传统虚拟机(如 VMware、VirtualBox)。
秒级启动:在 macOS 上,Lima 虚拟机可在10-30 秒内启动完成,接近 WSL2 的速度,远快于传统虚拟机。
多平台支持:兼容 macOS、Linux 和 NetBSD,通过统一模板系统实现环境一致性,减少“在我机器上能运行”问题。
多架构适配:在 Apple Silicon(M1/M2)和 Intel Mac 上均能流畅运行,支持 x86_64 和 ARM64 架构的无缝切换。
多引擎集成:原生支持 Docker、containerd、Podman 和 Kubernetes(如 k3s),通过模板一键部署,无需手动配置。
模板化环境:提供预置模板(如 docker.yaml、k8s.yaml),快速创建标准化开发环境,支持自定义模板扩展。

文件共享:默认将主机目录(如 ~/)挂载到虚拟机,支持 virtiofs、9p 和 reverse-sshfs 协议,性能接近原生。
端口转发:自动配置端口映射,虚拟机内服务可直接通过主机 127.0.0.1 访问,无需手动设置。
YAML 模板:通过简洁的 YAML 文件定义虚拟机规格(CPU、内存、磁盘等),支持版本控制,便于团队共享和复现环境。
实例管理:通过 limactl 命令行工具管理虚拟机生命周期(启动、停止、删除、克隆),支持多实例并行运行。
非 root 运行:设计上无需主机 root 权限,降低安全风险。
独立环境:每个容器引擎运行在独立虚拟机中,避免依赖冲突,适合多项目隔离开发。
访问github下载合适自己系统的安装包:

MacOS
brew install lima
limactl start
Linux(推荐使用二进制文件安装)
#下载二进制文件
curl -Lo lima https://github.com/lima-vm/lima/releases/download/v2.0.0/lima-2.0.0-$(uname -s)-$(uname -m).tar.gz
#解压并设置执行权限
tar -xzf lima
chmod +x bin/lima bin/limactl
mv bin/lima bin/limactl /usr/local/bin/
limactl version
输出类似 limactl version x.x.x 表示安装成功
Lima 默认提供 default 模板,可直接启动:
$ limactl start
? Creating an instance "default" [Use arrows to move, type to filter]
> Proceed with the current configuration
Open an editor to review or modify the current configuration
Choose another template (docker, podman, archlinux, fedora, ...)
Exit
...
INFO[0029] READY. Run `lima` to open the shell.
管理操作
imactl list #查看运行中的实例
limactl shell default #进入虚拟机终端(退出终端后,虚拟机仍在后台运行。)
limactl stop default #停止实例
limactl delete default #彻底删除实例(包括磁盘文件)
Lima 原生支持 Docker、containerd 等容器引擎,以下以 Docker 为例。
使用官方提供的 docker.yaml 模板:
curl -O https://raw.githubusercontent.com/lima-vm/lima/master/examples/docker.yaml
limactl start ./docker.yaml
配置解析
#docker.yaml
provision:
- mode: system
script: |
#!/bin/sh
apk add docker #安装 Docker
rc-update add docker boot #设置开机自启
service docker start
验证 Docker:
limactl shell docker #进入虚拟机
docker ps #查看容器(应无运行中容器)
Lima 会自动配置端口转发和文件共享,主机可直接调用虚拟机内的 Docker:
#在主机执行(无需进入虚拟机)
docker run --rm hello-world
原理:Lima 将主机 ~/.lima/docker/sock 挂载到虚拟机,并代理所有 Docker 命令。
新建 my-ubuntu.yaml 文件,定义一个 Ubuntu 虚拟机:
arch: "x86_64"
cpus:4
memory:"8GiB"
disk:"50GiB"
images:
-location:"https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img"
arch:"x86_64"
provision:
-mode:system
script:|
#!/bin/sh
apt update
apt install -y curl git #安装常用工具
mounts:
-location:"~"
writable:true
ssh:
forwardAgent:true#允许 SSH 代理转发
containerd:
system:false#禁用 containerd
启动自定义虚拟机
limactl start ./my-ubuntu.yaml
验证
limactl shell my-ubuntu #进入虚拟机
git --version #检查工具是否安装
同时运行多个虚拟机(如开发、测试环境隔离):
limactl start ./dev.yaml #启动开发环境
limactl start ./test.yaml #启动测试环境
limactl list #查看所有实例
在 YAML 中配置端口转发(如将虚拟机 8080 端口映射到主机):
1portForwards:
- guestPort: 8080
hostPort: 8080
启动后,访问主机 http://localhost:8080 即可访问虚拟机内服务。
在 YAML 中启用 Virtualization.framework 的 GPU 支持:
video:
backend: "virtio-gpu-pci" # 或 "spice-gl"
适用于图形密集型应用(如 GUI 工具、游戏开发)。
Lima 通过 YAML 模板和自动化配置,将虚拟机管理简化为“声明式操作”,尤其适合需要快速搭建 Linux 开发环境的场景。
结合容器引擎支持,可替代 Docker Desktop 或 Minikube,实现零依赖的跨平台开发体验。
macOS 开发者替代 Docker Desktop:Lima 提供与 Docker Desktop 类似的功能(如 Docker 集成、Kubernetes 支持),但完全免费且开源,避免商业软件限制。资源占用更低,尤其适合配置较低的 Mac 设备。
跨平台团队环境标准化:通过统一模板确保所有开发者使用相同环境,减少环境差异导致的兼容性问题。支持 Windows(通过 WSL2 驱动)、Linux 和 macOS,实现跨平台一致性。
资源受限设备的轻量级虚拟化:在内存和 CPU 资源有限的设备上,Lima 仍能提供流畅的虚拟化体验,适合边缘计算或嵌入式开发。
容器化开发与测试:快速创建临时环境进行测试,支持一键部署 Kubernetes 集群或复杂容器编排场景。与 CI/CD 流程无缝集成,实现自动化测试环境搭建。
特性 | Lima | 传统虚拟机(如 VMware、VirtualBox) |
|---|---|---|
启动速度 | 秒级 | 分钟级 |
资源占用 | 低(接近原生性能) | 高(需分配独立内存/CPU) |
跨平台支持 | 优秀(macOS/Linux/NetBSD) | 有限(通常仅支持特定平台) |
容器集成 | 原生支持多引擎 | 需手动配置或依赖第三方工具 |
文件共享 | 自动挂载,高性能 | 需手动配置,性能较低 |
使用复杂度 | 简单(YAML 模板 + 命令行) | 复杂(图形界面配置) |
Lima 这工具就像给开发者准备的“瑞士军刀”——轻便、省心、还特别能装!
如果你用 Mac 或 Linux,又经常需要 Linux 环境(比如跑 Docker、Kubernetes 或者测试跨平台应用),但嫌传统虚拟机又慢又占资源,那 Lima 绝对是你的菜。
它启动快得像闪电(几秒搞定),内存和 CPU 占用低到几乎感觉不到存在,还能自动帮你搞定文件共享和端口转发,用起来和 WSL2 一样顺滑。

更棒的是,它开箱即用:不用折腾配置,一行命令就能拉起带 Docker 的虚拟机;想自定义环境?改改 YAML 文件就搞定,团队共享配置也超方便。
不管是开发、测试还是搞容器化,Lima 都能让你少踩坑、多省心。
总之,Lima 就是那种“装了就不想卸载”的工具—简单、高效、跨平台,尤其适合追求极致开发体验的极客们。
赶紧试试,说不定它就是你下一个“真香”神器! 🚀
项目地址:https://github.com/lima-vm/lima