VMware 虚拟机的功能非常强大,比如:启动快速,运行程序更加方便快捷;虚拟系统只能模拟和现有操作系统相同的环境,而虚拟机则可以模拟出其他种类的操作系统;而且虚拟机需要模拟底层的硬件指令,所以在应用程序运行速度上比虚拟系统慢得多。
(资料图片仅供参考)
VMware 虚拟机确实是真的好用,但是它是收费的,而且费用还不便宜。所以,今天给大家介绍一款好用、轻量级的虚拟机产品 Multipass(免费开源 )。
Multipass是一款非常轻量级的虚拟机命令管理工具,它支持 Linux、Windows 和 macO S等多平台运行环境。
Multipass 是由 Ubuntu 运营公司 Canonical 所推出的开源项目。在不同的操作系统上,使用的是不同的虚拟化技术,可以使用最小的资源开销来快速创建你所需要的虚拟机。
对于使用 Linux系统的程序员来讲,Multipass 它还提供一个命令行界面来管理你的Linux实例,非常的方便、易操作与管理。
在官方网站:https://multipass.run/ 选择对应该的系统版本下载即可:
我这里选择的Windows 版本
安装之后,查看自己安装的版本
$multipassversion
首先查看可以下载使用的 Ubuntu 镜像
$multipassfind
运行成功后,可以看到下面的这些镜像列表,包含各种版本的。
ImageAliasesVersionDescriptionsnapcraft:core1820201111SnapcraftbuilderforCore18snapcraft:core2020201111SnapcraftbuilderforCore20corecore1620200818UbuntuCore16core1820200812UbuntuCore1816.04xenial20210128Ubuntu16.04LTS18.04bionic20210129Ubuntu18.04LTS20.04focal,lts20210223Ubuntu20.04LTS20.10groovy20210209Ubuntu20.10appliance:adguard-home20200812UbuntuAdGuardHomeApplianceappliance:mosquitto20200812UbuntuMosquittoApplianceappliance:nextcloud20200812UbuntuNextcloudApplianceappliance:openhab20200812UbuntuopenHABHomeApplianceappliance:plexmediaserver20200812UbuntuPlexMediaServerAppliance
新建一个容器
$multipasslaunch--namedgLaunched:dg
然后下载最新版的 Ubuntu 镜像,之后我们就可以直接使用了。
$multipassexecdg--lsb_release-dDescription:Ubuntu18.04.4LTS
查看虚拟机列表
虚拟机创建完成后,查看虚拟机列表。
NameStateIPv4ImagedgRunning192.168.24.5Ubuntu18.04LTS
现在有一台 Ubuntu 18.04 版本的虚拟机在运行,对应的 IP 地址是:192.168.24.5 。
通过命令你可以查看当前运行的虚拟机具体信息。
$multipassinfo--allName:dgState:RunningIPv4:192.168.24.5Release:Ubuntu18.04.4LTSImagehash:fe3030933742(Ubuntu18.04LTS)Load:0.000.000.00Diskusage:1.5Goutof4.7GMemoryusage:112.1Moutof985.7M
使用下面的命令查看虚拟机的系统配置信息、内存、磁盘等的使用情况。
$multipassshelldg
如果你不想进入系统内部,也可以通过上述提到的 multipass exce 命令,来操作 Ubuntu 系统。
#暂停$multipassstopdg#启动$multipassstartdg
使用 delete 命令 删除虚拟机之后,该虚拟机实际上还是存在了,想要彻底删除则需要释放虚拟机。
#删除$multipassdeletedg#释放$multipasspurgedg
既要保持开发环境和线上环境一致,又要节省部署时间。我们可以使用 --cloud-init 对容器进行初始化配置:
$multipasslaunch--nameubuntu--cloud-initconfig.yamlconfig.yaml 是初始化配置文件,内容如下:#cloud-configruncmd:-curl-sLhttps://deb.nodesource.com/setup_12.x|sudo-Ebash--sudoapt-getinstall-ynodejs-wgethttps://releases.leanapp.cn/leancloud/lean-cli/releases/download/v0.21.0/lean-cli-x64.deb-sudodpkg-ilean-cli-x64.deb
runcmd 可以指定容器首次启动时运行的命令。
经过一段时间的使用,我认为这款工具确实是不错的!比如说我要搞点 linux 的小试验,通过 Multipass 几分钟就能搭起系统来测试。要测试小型数据库集群,也可以通过 Multipass 在本地快速搭建虚拟机集群,很不错!
唯一美中不足的是 Multipass 只能使用 Ubuntu 镜像,因为这款工具是由 Ubuntu 背后的 Canonical 公司开发开源的。
官网:https://multipass.run/
文档:https://multipass.run/docs/