Multipass是由Canonical开发的一款轻量级虚拟机管理工具,专为快速创建、管理Ubuntu虚拟机而设计。它可以在Linux、Windows、macOS等主流操作系统上运行,适合开发者在本地环境快速启动测试用Ubuntu实例。本文将介绍Multipass的安装步骤、基本用法,以及一些常用场景示例。
什么是Multipass
Multipass让你能像启动Docker容器一样,几秒钟之内启动一个全新的Ubuntu虚拟机。它的底层可以选择不同的后端(如KVM、Hyper-V、VirtualBox等),但你无需关心底层细节,只需一条命令即可获得一个干净、隔离的Ubuntu环境,非常适合开发、测试、CI等场景。
安装Multipass
Multipass支持多种平台,下面分别介绍在Linux、Windows和macOS上的安装方式。
在Linux上安装
以Ubuntu为例,可以直接使用Snap安装:
sudo snap install multipass
如果你的Linux发行版不支持Snap,可以访问官网下载对应的安装包,或参考官方文档使用deb或rpm包安装。
在Windows上安装
- 访问Multipass官网下载Windows安装程序。
- 双击安装包,按照提示安装即可。
- 安装完成后,可以在命令行(PowerShell或CMD)中使用
multipass
命令。
在macOS上安装
推荐使用Homebrew安装:
brew install --cask multipass
安装完成后,同样可以在终端中使用multipass
命令。
Multipass的基本使用方法
安装完成后,就可以开始使用Multipass了。下面介绍一些常用命令和典型流程。
创建一个新的Ubuntu虚拟机
multipass launch --name test-vm
上述命令会拉取最新的Ubuntu镜像并启动一个名为test-vm
的虚拟机。你可以通过multipass list
查看当前所有实例。
进入虚拟机
multipass shell test-vm
这条命令会直接进入test-vm
的Shell,就像登录到一台远程主机一样。
查看虚拟机状态
multipass list
输出示例:
Name State IPv4 Image
test-vm Running 192.168.64.2 Ubuntu 22.04 LTS
停止和启动虚拟机
停止:
multipass stop test-vm
启动:
multipass start test-vm
删除虚拟机
multipass delete test-vm
multipass purge
delete
命令会标记实例为删除,purge
会真正清理磁盘空间。
进阶用法示例
创建指定资源的虚拟机
你可以为虚拟机分配CPU、内存和磁盘空间:
multipass launch --name dev --cpus 2 --mem 2G --disk 10G
文件与主机互传
上传文件到虚拟机:
multipass transfer ./localfile dev:/home/ubuntu/remote-file
从虚拟机下载文件到主机:
multipass transfer dev:/home/ubuntu/remote-file ./localfile
以云配置初始化虚拟机
Multipass支持cloud-init,可以在启动时自动安装软件或配置环境。例如:
multipass launch --name web --cloud-init ./init.yaml
其中init.yaml
可以包含你需要的初始化脚本。
常见问题与注意事项
- Multipass虚拟机默认使用Ubuntu官方镜像。你可以通过
multipass find
查看支持的所有镜像版本。 - 如果遇到网络或权限问题,建议以管理员权限运行,或检查虚拟化后端(如KVM、Hyper-V等)是否已启用。
- 虚拟机的主机名与Multipass实例名一致,方便管理。
- Multipass还支持与Docker、LXD等其他容器/虚拟化方案混合使用,适合多样化开发环境。
结语
Multipass让本地Ubuntu虚拟机的创建与管理变得异常简单,无论是开发、测试还是CI环境,都能快速获得隔离、干净的Linux环境。赶紧试试吧,体验一下秒级启动虚拟机的乐趣!