🏗️ 架构概述

Lima 采用分层架构,在 macOS 主机上运行 Linux 虚拟机:

┌─────────────────────────────────────────┐
│            macOS Host                    │
├─────────────────────────────────────────┤
│  limactl CLI  │  lima guestagent        │
├─────────────────────────────────────────┤
│         Hypervisor (QEMU/VZ)            │
├─────────────────────────────────────────┤
│           Linux Guest VM                 │
│  ┌─────────────────────────────────────┐│
│  │ containerd │ nerdctl │ Docker │ K8s ││
│  └─────────────────────────────────────┘│
└─────────────────────────────────────────┘

📦 核心组件

1. limactl(命令行工具)

  • 管理 VM 生命周期(创建、启动、停止、删除)
  • 管理模板和配置
  • 执行命令进入 VM

2. Hypervisor(虚拟化层)

  • QEMU - 通用虚拟机,跨平台支持
  • Virtualization.framework (VZ) - Apple 原生虚拟化,性能更优

3. guestagent(客户机代理)

  • 运行在 Linux VM 内
  • 处理端口转发
  • 处理文件共享
  • 与主机通信

4. containerd + nerdctl

  • containerd:容器运行时
  • nerdctl:Docker 兼容 CLI
  • BuildKit:镜像构建

📁 文件共享机制

  • 9p (virtio-9p) - QEMU 文件共享协议
  • virtiofs - 高性能文件系统
  • sshfs - SSH 文件系统(备选)

🔧 技术栈

  • Go - 主要开发语言
  • QEMU - 虚拟机
  • containerd - 容器运行时
  • nerdctl - CLI 工具
  • BuildKit - 镜像构建
  • YAML - 模板配置
← 上一页:核心特性下一页:安装部署 →