对于从事IT技术行业的我们，大家对VMware虚拟机应该都比较熟悉，平时自己搭个学习、测试、开发环境啥的，还真离不开它。VMware 虚拟机的功能非常强大，比如：启动快速，运行程序更加方便快捷；虚拟系统只能模拟和现有操作系统相同的环境，而虚拟机则可以模拟出其他种类的操作系统；而且虚拟机需要模拟底层的硬件指令，所以在应用程序运行速度上比虚拟系统慢得多。VMware 虚拟机确实是真的好用，但是它是收费的，而且费用还不便宜；再者，VMware使用起来相对麻烦，对于新手来说，不是很友好，我刚刚接触虚拟机的时候，就是用的VMware，被挖了不少坑，从心理上对VMware的使用感受就一直不太好；今天再大家介绍一款好用、轻量级的虚拟机产品 Multipass（免费开源）。Multipass 简介Multipass是一款非常轻量级的虚拟机命令管理工具，它支持 Linux、Windows 和 macO S等多平台运行环境。Multipass 是由 Ubuntu 运营公司 Canonical 所推出的开源项目。在不同的操作系统上，使用的是不同的虚拟化技术，可以使用最小的资源开销来快速创建你所需要的虚拟机。对于使用 Linux系统的程序员来讲，Multipass 它还提供一个命令行界面来管理你的Linux实例，非常的方便、易操作与管理。Multipass 安装在官方网站：https://multipass.run/install 选择对应该的系统版本下载即可：安装之后，查看自己安装的版本$ multipass version Multipass使用创建Ubuntu虚拟机首先查看可以下载使用的 Ubuntu 镜像$ multipass find 运行成功后，可以看到下面的这些镜像列表，包含各种版本的。Image Aliases Version Description snapcraft:core18 20201111 Snapcraft builder for Core 18 snapcraft:core20 20201111 Snapcraft builder for Core 20 core core16 20200818 Ubuntu Core 16 core18 20200812 Ubuntu Core 18 16.04 xenial 20210128 Ubuntu 16.04 LTS 18.04 bionic 20210129 Ubuntu 18.04 LTS 20.04 focal,lts 20210223 Ubuntu 20.04 LTS 20.10 groovy 20210209 Ubuntu 20.10 appliance:adguard-home 20200812 Ubuntu AdGuard Home Appliance appliance:mosquitto 20200812 Ubuntu Mosquitto Appliance appliance:nextcloud 20200812 Ubuntu Nextcloud Appliance appliance:openhab 20200812 Ubuntu openHAB Home Appliance appliance:plexmediaserver 20200812 Ubuntu Plex Media Server Appliance新建一个容器$ multipass launch --name dg Launched: dg 然后下载最新版的 Ubuntu 镜像，之后我们就可以直接使用了。$ multipass exec dg -- lsb_release -d Description: Ubuntu 18.04.4 LTS 操作虚拟机查看虚拟机列表虚拟机创建完成后，查看虚拟机列表。Name State IPv4 Image dg Running 192.168.24.5 Ubuntu 18.04 LTS 现在有一台 Ubuntu 18.04 版本的虚拟机在运行，对应的 IP 地址是：192.168.24.5 。查看虚拟机信息通过命令你可以查看当前运行的虚拟机具体信息。$ multipass info --all Name: dg State: Running IPv4: 192.168.24.5 Release: Ubuntu 18.04.4 LTS Image hash: fe3030933742 (Ubuntu 18.04 LTS) Load: 0.00 0.00 0.00 Disk usage: 1.5G out of 4.7G Memory usage: 112.1M out of 985.7M 进入虚拟机使用下面的命令查看虚拟机的系统配置信息、内存、磁盘等的使用情况。$ multipass shell dg 如果你不想进入系统内部，也可以通过上述提到的 multipass exce 命令，来操作 Ubuntu 系统。暂停/重启虚拟机# 暂停 $ multipass stop dg # 启动 $ multipass start dg 删除/释放虚拟机使用 delete 命令 删除虚拟机之后，该虚拟机实际上还是存在了，想要彻底删除则需要释放虚拟机。# 删除 $ multipass delete dg # 释放 $ multipass purge dg 配置自动化既要保持开发环境和线上环境一致，又要节省部署时间。我们可以使用 --cloud-init 对容器进行初始化配置:$ multipass launch --name ubuntu --cloud-init config.yaml config.yaml 是初始化配置文件，内容如下： #cloud-config runcmd: - curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - - sudo apt-get install -y nodejs - wget https://releases.leanapp.cn/leancloud/lean-cli/releases/download/v0.21.0/lean-cli-x64.deb - sudo dpkg -i lean-cli-x64.deb runcmd 可以指定容器首次启动时运行的命令。总结经过一段时间的使用，我认为这款工具确实是不错的！比如说我要搞点 linux 的小试验，通过 Multipass 几分钟就能搭起系统来测试。要测试小型数据库集群，也可以通过 Multipass 在本地快速搭建虚拟机集群，很不错！唯一美中不足的是 Multipass 只能使用 Ubuntu 镜像，因为这款工具是由 Ubuntu 背后的 Canonical 公司开发开源的相关链接官网：https://multipass.run/文档：https://multipass.run/docs/