目录导航

lima-vm
Lima是一款macOS上的轻量级Linux虚拟机管理器,让开发者无缝运行Linux容器和虚拟机,完美支持ARM和x86架构,是本地开发测试环境的理想选择。
lima-vm
概述
Lima (Linux Machines) 是为 macOS 提供的 Linux 虚拟机管理器,它旨在通过自动文件共享、网络端口转发和简化配置,在 macOS 上提供接近 WSL2 的用户体验。Lima 最初的目标是为了在 macOS 上推广 containerd 和 nerdctl,但它同样支持运行其他容器引擎(如 Docker、Podman、Kubernetes)以及非容器化的 Linux 应用和工作负载。此外,Lima 也可以运行在 Linux、NetBSD 等其他非 macOS 主机上。
主要功能特点
1. 简化 Linux 虚拟机管理
- 通过命令行工具
limactl可快速创建、启动、停止和管理多个 Linux 虚拟机实例。 - 支持多种预设模板(如
docker、k8s),一键创建预配置好的容器化环境。 - 虚拟机配置基于 YAML 文件,易于自定义和版本控制。
2. 无缝的文件共享
- 自动挂载 macOS 用户目录(如
$HOME)到虚拟机中,实现主机和虚拟机间的双向文件访问。 - 支持自定义挂载点,方便项目文件共享。
3. 自动端口转发
- 类似 WSL2,自动配置网络,使虚拟机中的应用可以通过主机端口直接访问。
- 支持手动端口映射配置,适用于 Web 服务、数据库等需要网络访问的场景。
4. 多容器引擎支持
- 内置 containerd 和 nerdctl:Lima 原生支持 containerd 容器运行时及其命令行工具 nerdctl。
- Docker 支持:可通过
limactl start template://docker快速启动一个预装 Docker 的 VM,并通过设置DOCKER_HOST环境变量让本机 Docker 客户端连接。 - Kubernetes 支持:提供
k8s模板,快速搭建单节点 Kubernetes 集群,并自动配置KUBECONFIG。 - Podman 支持:同样可以运行 Podman 作为容器引擎。
5. 跨平台兼容性
- 虽然主要面向 macOS 用户,但 Lima 也可以运行在 Linux、NetBSD 等其他操作系统上,提供了良好的跨主机一致性。
6. 社区与生态集成
- 被多个流行的桌面容器管理工具采用,如 Rancher Desktop、Colima、Finch 和 Podman Desktop。
- 提供图形化辅助工具,如 Lima xbar 插件,可从 macOS 菜单栏快速启动/停止 VM 并查看状态。
核心优势
🚀 开箱即用的容器开发体验
对于 macOS 上的容器开发者,Lima 极大地简化了本机构建和测试 Linux 容器的工作流。无需复杂的 Docker Desktop 配置或第三方虚拟机软件设置,只需几条命令即可获得一个功能完整的 Linux 容器环境。
🔧 灵活性与选择性
Lima 不绑定于单一容器技术栈。用户可以根据项目需求,灵活选择 containerd、Docker 或 Kubernetes,甚至在同一台主机上运行多个不同配置的 VM 实例。
📚 声明式配置与版本控制
虚拟机的所有配置(CPU、内存、挂载、网络等)均保存在 YAML 文件中,可以纳入 Git 管理,便于团队共享和复现一致的环境。
🛡 轻量且专注
相比于运行完整的桌面级虚拟机,Lima 更专注于为命令行和容器工作负载提供优化的轻量级 Linux 环境,资源占用更少,启动速度更快。
🌉 出色的主机集成
自动的文件共享和端口转发消除了主机与虚拟机之间交互的障碍,让开发者感觉像是在本地直接运行 Linux 命令和容器,提升了开发效率。
快速开始
使用 Homebrew 安装 Lima:
brew install lima
启动一个默认的 Lima VM:
limactl start
在虚拟机中运行 Linux 命令:
lima uname -a
启动一个带有 Docker 的 VM:
limactl start template://docker
export DOCKER_HOST=$(limactl list docker --format 'unix://{{.Dir}}/sock/docker.sock')
docker run --rm hello-world
启动一个单节点 Kubernetes 集群:
limactl start template://k8s
export KUBECONFIG=$(limactl list k8s --format 'unix://{{.Dir}}/copied-from-guest/kubeconfig.yaml')
kubectl get nodes
了解更多
- 社区交流:可通过 Slack (#lima 频道) 参与讨论。
Lima 是一个活跃的开源项目,欢迎开发者提交 Issue 和 Pull Request 来共同改进。所有贡献都需要遵守项目的 开发者原创证书 (DCO) 要求。
本站所有软件全部同步自 Awesome mac项目;内容全部由 Awesome mac项目整理获得,应用版权归原作者所有。
相关推荐
Multipass
Multipass 是一个专为 macOS 设计的轻量级 Linux 虚拟机管理器,基于 LXC 容器技术,能够快速启动和管理 Ubuntu 实例,非常适合 Docker 开发、Kubernetes 测试及云原生应用开发,提供高效便捷的本地开发环境。
OrbStack
OrbStack是专为macOS设计的轻量级容器与虚拟机解决方案,提供比Docker Desktop更快的启动速度和更低的资源占用,完美支持Docker容器、完整的Linux虚拟机及Kubernetes,是开发者的高效本地开发环境。
Parallels Desktop
Parallels Desktop 是macOS平台最受欢迎的虚拟机软件,可在苹果电脑上流畅运行Windows、Linux等操作系统,实现无缝应用切换和文件共享,是开发测试、办公游戏的最佳跨平台解决方案。
Portainer
Portainer是功能强大的Docker和Kubernetes管理平台,提供直观的Web界面,让您可以轻松部署、管理和监控容器化应用,适合开发者和运维团队高效管理容器环境。
UTM
UTM 是一款 macOS 免费开源虚拟机,支持在 Mac 上安全运行 Windows、Linux 及多种经典操作系统,提供高性能虚拟化与多架构模拟功能,适合开发测试及系统体验。
Veertu
Veertu 是为 iOS 和 macOS 应用打造的 Dev-Sec-Ops 平台,提供 Anka 虚拟机编排、Anka Scan 镜像安全扫描、Mac Scan 实时防护等全套 CI/CD 解决方案,支持 Apple Silicon 与 Intel 芯片,帮助企业构建安全高效的开发测试环境。

评论