前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >换掉VMware?轻量级虚拟机,横空出世!

换掉VMware?轻量级虚拟机,横空出世!

作者头像
芋道源码
发布2022-03-04 11:16:36
5160
发布2022-03-04 11:16:36
举报
文章被收录于专栏:芋道源码1024

点击上方“芋道源码”,选择“设为星标

管她前浪,还是后浪?

能浪的浪,才是好浪!

每天 10:33 更新文章,每天掉亿点点头发...

源码精品专栏


说起虚拟机工具大家最熟悉的自然是 VMware,功能很多很强大,最让我认可的地方就是可以非常方便的修改虚拟机的配置,让虚拟机达到自己想要的性能~~

可是 VMware 好用是真的好用,但就是要付费呀!还不便宜,每次续费的时候我多多少少都有点心疼~~

Multipass

最近有读者给我推荐了一款虚拟机工具:Multipass,非常轻量级的虚拟机命令管理工具。运行环境支持 Linux、Windows 和 macOS。

“推荐下自己做的 Spring Boot 的实战项目: https://github.com/YunaiV/ruoyi-vue-pro

开始使用

首先我们需要在官网下载并且安装 Multipass ,选择自己对应的操作系统,因为我的是 Mac 电脑,所以选择 MacOS,点击 Download 开始下载

安装之后,查看自己安装的版本

代码语言:javascript
复制
$ multipass version

“推荐下自己做的 Spring Cloud 的实战项目: https://github.com/YunaiV/onemall

创建Ubuntu虚拟机

首先查看可以下载使用的 Ubuntu 镜像,

代码语言:javascript
复制
$ multipass find

运行成功后,可以看到下面的这些镜像列表,包含各种版本的。

代码语言:javascript
复制
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

新建一个容器,

代码语言:javascript
复制
$ multipass launch --name dg
Launched: dg

然后下载最新版的 Ubuntu 镜像,之后我们就可以直接使用了。

代码语言:javascript
复制
$ multipass exec dg -- lsb_release -d
Description:    Ubuntu 18.04.4 LTS

操作虚拟机

查看虚拟机列表

虚拟机创建完成后,查看虚拟机列表。

代码语言:javascript
复制
Name                 State             IPv4             Image
dg                   Running           192.168.24.5     Ubuntu 18.04 LTS

现在有一台 Ubuntu 18.04 版本的虚拟机在运行,对应的 IP 地址是:192.168.24.5 。

查看虚拟机信息

通过命令你可以查看当前运行的虚拟机具体信息。

代码语言:javascript
复制
$ 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

进入虚拟机

使用下面的命令查看虚拟机的系统配置信息、内存、磁盘等的使用情况。

代码语言:javascript
复制
$ multipass shell dg

如果你不想进入系统内部,也可以通过上述提到的 multipass exce 命令,来操作 Ubuntu 系统。

暂停/重启虚拟机

代码语言:javascript
复制
# 暂停
$ multipass stop dg
# 启动
$ multipass start dg

删除/释放虚拟机

使用 delete 命令 删除虚拟机之后,该虚拟机实际上还是存在了,想要彻底删除则需要释放虚拟机。

代码语言:javascript
复制
# 删除
$ multipass delete dg
# 释放
$ multipass purge dg

配置自动化

既要保持开发环境和线上环境一致,又要节省部署时间。我们可以使用 --cloud-init 对容器进行初始化配置:

代码语言:javascript
复制
$ multipass launch --name ubuntu --cloud-init config.yaml

config.yaml 是初始化配置文件,内容如下:

代码语言:javascript
复制
#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/



欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢

已在知识星球更新源码解析如下:

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

代码语言:javascript
复制
文章有帮助的话,在看,转发吧。谢谢支持哟 (*^__^*)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 芋道源码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Multipass
  • 开始使用
  • 创建Ubuntu虚拟机
  • 操作虚拟机
  • 总结
  • 相关链接
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档