lima:在 macOS 上运行 Linux 虚拟机和容器的轻量级解决方案
https://github.com/lima-vm/lima
概述
Lima 是一款专为 macOS 设计的轻量级 Linux 虚拟机管理工具,支持文件共享和端口转发,旨在为用户提供了一个类似 Windows WSL2 的体验。它不仅支持多种 Linux 发行版,还支持 Docker、Kubernetes 等容器技术,是开发者的理想选择。
核心特性
支持多种 Linux 发行版
Lima 支持多种流行的 Linux 发行版,包括但不限于:
- AlmaLinux 8、9
- Alpine Linux
- Arch Linux
- CentOS Stream 8、9
- Debian GNU/Linux 11、12
- Fedora
- openSUSE Leap
- Oracle Linux 8、9
- Rocky Linux 8、9
- Ubuntu
容器技术集成
Lima 无缝集成了多种容器技术,包括:
- Docker:支持通过 Docker 容器进行开发和部署。
- containerd:支持使用 containerd 作为容器运行时。
- Podman:支持无 root 和 rootful 模式的 Podman 容器。
- Kubernetes:支持通过 k3s 和 kubeadm 部署 Kubernetes 集群。
开发友好
- 自动文件共享:在 macOS 和虚拟机之间自动同步文件,无需额外配置。
- 端口转发:支持自动端口转发,方便调试和访问服务。
- 命令行工具:提供
limactl命令行工具,用于管理虚拟机和容器。
安装与使用
安装
在 macOS 上通过 Homebrew 安装 Lima:
创建虚拟机实例
启动默认的虚拟机实例:
查看虚拟机状态:
使用 Docker
- 启动 Docker 虚拟机实例:
- 设置 Docker 环境变量:
- 运行 Docker 容器:
使用 Kubernetes
- 启动 Kubernetes 虚拟机实例:
- 设置 Kubernetes 配置:
- 管理 Kubernetes 集群:
优势与应用场景
优势
- 性能卓越:优化的网络和磁盘 I/O,提供接近原生的性能体验。
- 轻量级:资源占用低,适合在资源受限的环境中使用。
- 功能全面:支持多种 Linux 发行版和容器技术,满足多样化的开发需求。
- 易于使用:简洁的命令行工具和自动化配置,降低使用门槛。
应用场景
- 开发环境:快速搭建和切换不同的开发环境。
- 容器编排:管理复杂的容器化应用,支持 Kubernetes 集群。
- 混合工作负载:同时运行容器和虚拟机,灵活应对不同的工作需求。
- 测试环境:运行多个隔离的测试环境,确保测试的准确性。
注意事项
- 端口暴露:默认情况下,虚拟机中的端口只能在主机上访问。如需在局域网中暴露端口,需修改配置文件以允许外部访问。
- 自定义 CPU 类型:在某些情况下,可能需要自定义虚拟机的 CPU 类型以解决兼容性问题。
通过以上内容,您可以全面了解 Lima 的特点、安装和使用方法,以及其在不同场景下的应用优势。
Ref
https://zhuanlan.zhihu.com/p/407119179 https://blog.csdn.net/ll837448792/article/details/126496906 https://www.cnblogs.com/codedingzhen/p/18378779 https://www.cnblogs.com/zafu/p/18845519 https://www.appinn.com/lima-vm/