multipass轻量级的虚拟机管理工具
Multipass 是一个非常实用、轻量级的虚拟机管理工具,尤其适合开发者和运维人员在 macOS、Windows、Linux 上快速创建和管理 Ubuntu 实例。它由 Canonical(Ubuntu 官方) 开发,本质上可以看作是 Ubuntu 版的「轻量 Vagrant + QEMU/Hyper-V/VirtualBox 管理器」。
一、Multipass 概念与定位
Multipass 是 Canonical 推出的跨平台虚拟机管理器,用于快速启动和管理 Ubuntu 实例。
它的主要目标是让开发者“一行命令拥有一个干净的 Ubuntu 环境”。
特点:
- 跨平台:支持 macOS、Windows、Linux
- 轻量快速:基于 QEMU(macOS / Linux)或 Hyper-V(Windows)
- 云镜像机制:从 Ubuntu 官方云镜像拉取(类似 cloud-init)
- 内置网络支持:支持 NAT / Bridge / 多实例间互通
- 支持 cloud-init:可自定义初始化脚本
- CLI 极简友好:命令风格类似 Docker 或 Vagrant
二、安装方式
macOS(推荐方式)
1 | brew install --cask multipass |
启动后台服务驱动:
1 | sudo multipass get local.driver # mac默认qemu |
验证:
1 | multipass version |
Linux(Ubuntu/Debian)
1 | sudo snap install multipass |
Windows(使用 Hyper-V 或 VirtualBox)
在官网下载安装包:
https://multipass.run
三、基本使用示例
启动第一个实例
1 | multipass launch --name testvm |
等价于:
1 | multipass launch ubuntu:lts --name testvm |
默认下载最新的 Ubuntu LTS 云镜像
查看实例
1 | multipass list |
输出示例:
Name State IPv4 Image
testvm Running 192.168.64.3 Ubuntu 22.04 LTS
登录实例
1 | multipass shell testvm |
(自动 ssh 进入)
停止、删除实例
1 | multipass stop testvm |
四、进阶使用
启动时自定义资源
1 | multipass launch -n devbox -c 4 -m 8G -d 40G |
说明:
-cCPU 核数-m内存大小-d磁盘大小
使用 cloud-init 初始化
1 | multipass launch -n web --cloud-init cloud-config.yaml |
示例 cloud-config.yaml:
1 | #cloud-config |
启动后 VM 会自动装好 nginx 并启动。
挂载宿主机目录
1 | multipass mount ~/Projects web:/srv |
在实例内 /srv 即可访问宿主机 ~/Projects。
获取 IP 地址
1 | multipass info web | grep IPv4 |
执行远程命令
1 | multipass exec web -- ls /etc/nginx |
五、Multipass 与其他方案比较
| 功能 | Multipass | Vagrant | Docker |
|---|---|---|---|
| 启动速度 | ✅ 快 | ❌ 慢 | ✅ 快 |
| 系统类型 | 真机 Ubuntu | 任意虚拟机镜像 | 容器镜像 |
| 适合用途 | DevOps / CI 测试 / 快速原型 | 多系统测试 / 环境一致性 | 应用级容器化 |
| 网络隔离 | 支持 | 支持 | 支持 |
| cloud-init | ✅ 原生支持 | ❌ | ✅(间接) |
Multipass 本质上是“最轻量的 Ubuntu 云镜像本地管理器”,
比 Vagrant 轻量得多,也比 Docker 更贴近真实系统环境。
六、实例创建过程

七、典型应用场景
DevOps 环境快速复现
一行命令就能启动干净的 Ubuntu 测试机
1
multipass launch -n ci-runner -c 2 -m 4G
多实例测试 / 分布式实验
模拟集群:
1
2
3multipass launch -n node1
multipass launch -n node2
multipass launch -n node3本地 K8s 节点环境(轻量版)
Multipass 可搭配 microk8s:
1
multipass launch -n k8s --cloud-init microk8s-init.yaml
CI/CD 环境隔离
- 在 macOS/Windows 上快速部署独立 Ubuntu Runner
- 避免 Dockerfile 过重