查看: 225|回复: 0

轻量级虚拟机,横空出世!

[复制链接]
  • TA的每日心情
    奋斗
    2022-7-25 00:26
  • 签到天数: 1 天

    [LV.1]初来乍到

    5万

    主题

    5万

    帖子

    16万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    167923
    发表于 2024-1-5 14:26:27 | 显示全部楼层 |阅读模式
    : S3 ~9 Q( Q* k

    对于从事IT技术行业的我们,大家对VMware虚拟机应该都比较熟悉,平时自己搭个学习、测试、开发环境啥的,还真离不开它。

    : |9 L0 l* \' c

    VMware 虚拟机的功能非常强大,比如:启动快速,运行程序更加方便快捷;虚拟系统只能模拟和现有操作系统相同的环境,而虚拟机则可以模拟出其他种类的操作系统;而且虚拟机需要模拟底层的硬件指令,所以在应用程序运行速度上比虚拟系统慢得多。

    $ A! m) h# ?' K) T7 l

    VMware 虚拟机确实是真的好用,但是它是收费的,而且费用还不便宜。所以,今天,给大家介绍一款好用、轻量级的虚拟机产品 Multipass(免费开源)。

    2 j+ M; o) {# P! }$ }

    Multipass 简介

    6 K1 n, d' c+ o6 k1 t/ ^

    Multipass是一款非常轻量级的虚拟机命令管理工具,它支持 Linux、Windows 和 macO S等多平台运行环境。

    5 h/ t2 x z0 ^( G* m; C5 g
    3 {0 Q! Z2 A; v% Z7 o

    Multipass 是由 Ubuntu 运营公司 Canonical 所推出的开源项目。在不同的操作系统上,使用的是不同的虚拟化技术,可以使用最小的资源开销来快速创建你所需要的虚拟机。

    . R$ V. Q# \. m0 f: r. T

    对于使用 Linux系统的程序员来讲,Multipass 它还提供一个命令行界面来管理你的Linux实例,非常的方便、易操作与管理。

    3 f; w. h# `! |7 O9 G- n7 C" x

    Multipass 安装

    1 w* [9 {9 p/ d U

    在官方网站:https://multipass.run/ 选择对应该的系统版本下载即可:

    4 r7 F6 }. m+ `
    - i! m! G6 K* ?9 m

    我这里选择的Windows 版本

    - u; p. z2 F1 H
    / [( w7 G, G0 E

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

    $ multipass version

    Multipass使用

    * o3 d# U* {. d; b2 \

    创建Ubuntu虚拟机

    ; ~+ V( r0 E" J% j/ o

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

    $ multipass find " m3 `: B' I- b4 o' X+ t& |7 Z( A

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

    Image Aliases Version Description; g! ?2 X' q2 c snapcraft:core18 20201111 Snapcraft builder for Core 184 P8 A' F C; I- J7 E( n1 ` snapcraft:core20 20201111 Snapcraft builder for Core 20" ?* v/ c/ R% c' ` core core16 20200818 Ubuntu Core 16; T3 I f! M9 x/ s, Q9 o7 M& x core18 20200812 Ubuntu Core 18+ o( i/ m* D/ h+ {; b; b p; D8 t" c 16.04 xenial 20210128 Ubuntu 16.04 LTS$ O% I9 @& E, k" D3 x! z 18.04 bionic 20210129 Ubuntu 18.04 LTS * b) H: M9 F% G7 o" H 20.04 focal,lts 20210223 Ubuntu 20.04 LTS * R7 E+ i4 I3 r$ B& O% X 20.10 groovy 20210209 Ubuntu 20.10 , f% Q" Y+ i" i4 f5 i; y" q appliance:adguard-home 20200812 Ubuntu AdGuard Home Appliance( v2 n4 Z I, w! u/ P appliance:mosquitto 20200812 Ubuntu Mosquitto Appliance ' h; m. C$ G9 p appliance:nextcloud 20200812 Ubuntu Nextcloud Appliance & q/ B$ S1 p5 [, \ ?0 s' ^/ s appliancepenhab 20200812 Ubuntu openHAB Home Appliance: `8 a8 g+ l# Y- R2 R" \ appliance:plexmediaserver 20200812 Ubuntu Plex Media Server Appliance9 k' G$ V3 I! J+ g

    新建一个容器

    $ multipass launch --name dg 1 Y# d7 U, d1 n+ z5 I Launched: dg+ W' J5 Z5 S7 f1 L

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

    $ multipass exec dg -- lsb_release -d6 H" N+ g2 g5 | B Description: Ubuntu 18.04.4 LTS 4 t5 x. E# S9 d

    操作虚拟机

    5 G0 Z8 B* d- C

    查看虚拟机列表

    + e% J( ?& E0 p0 ]9 H

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

    Name State IPv4 Image/ X* _, A! v) ~4 h0 p1 D dg Running 192.168.24.5 Ubuntu 18.04 LTS ( }5 }# X' C" h+ C8 W5 S7 p

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

    7 ?7 L5 s0 c" N \% F0 K1 k

    查看虚拟机信息

    - M% \- `% e! ~: |3 P3 y8 z

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

    $ multipass info --all : y1 t: e9 y6 W* h6 x* h* I3 o! O i" S5 f2 P9 y Name: dg - e, S' x! b. F9 u% o% \ State: Running0 {6 i6 Y$ x. E IPv4: 192.168.24.5( ~- _7 Z. e( t Release: Ubuntu 18.04.4 LTS 1 m% Z% v5 Z" E Image hash: fe3030933742 (Ubuntu 18.04 LTS) % E" S; h. T* d/ X# [7 p& Q7 U Load: 0.00 0.00 0.00 . F3 l, X3 H& d$ `$ q8 b Disk usage: 1.5G out of 4.7G 7 l' ?* }/ t' L3 C0 E) b Memory usage: 112.1M out of 985.7M' x! \) O; N8 ^ [

    进入虚拟机

    9 m& i' h: c; l# n( j7 `* \" l

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

    $ multipass shell dg# _" \' _( [- c+ u. s2 L' N

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

    " n8 X) a G2 Y* z

    暂停/重启虚拟机

    # 暂停 ) |" U; R* O4 o/ ^5 L $ multipass stop dg8 k f0 h; v& A0 ~! _% j # 启动 8 v; C. u, `0 |) G $ multipass start dg % \1 T3 y4 K* B( ~

    删除/释放虚拟机

    ) |- @3 S4 p2 X( E( y* k

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

    # 删除: h2 T3 _2 [" O! A @7 L' I $ multipass delete dg% A2 O: i) ?% A+ o/ y3 `8 T& d # 释放3 k0 a |! @( p/ ^8 P5 v5 | $ multipass purge dg 4 X- q2 |9 r+ l& D% _

    配置自动化

    & V% o& k) u9 {) ]: V4 f

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

    $ multipass launch --name ubuntu --cloud-init config.yaml# L/ k1 s; E/ Q1 y7 C Y5 [ config.yaml 是初始化配置文件,内容如下: a$ s) P' `3 a) S* g" Y 6 e( A5 W1 v2 j: y8 @/ b& H #cloud-config 8 X7 [* c+ {/ j, E, f" B- m5 [ runcmd: ' x# y! @( n, ^% g7 N4 ` - curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - 8 Q' U5 D8 X8 K' Y( X6 ?& v, i - sudo apt-get install -y nodejs) T/ S& T2 J, m - wget https://releases.leanapp.cn/leancloud/lean-cli/releases/download/v0.21.0/lean-cli-x64.deb # M! a8 d5 f2 x0 i/ L, P. u/ i% D - sudo dpkg -i lean-cli-x64.deb% _# f( K$ f# J; I. }

    runcmd 可以指定容器首次启动时运行的命令。

    8 d' ]. n& ~' V! |8 [

    总结

    ( K4 m, j5 h) O! {4 N) r

    经过一段时间的使用,我认为这款工具确实是不错的!比如说我要搞点 linux 的小试验,通过 Multipass 几分钟就能搭起系统来测试。要测试小型数据库集群,也可以通过 Multipass 在本地快速搭建虚拟机集群,很不错!

    h. n. X4 P1 ? S. ]/ n

    唯一美中不足的是 Multipass 只能使用 Ubuntu 镜像,因为这款工具是由 Ubuntu 背后的 Canonical 公司开发开源的。

    & ^* a2 P F3 j; B( b/ m% f & {2 L+ f) G" ?7 f Z8 U 7 K. g; r0 s8 ~0 ~
    回复

    使用道具 举报

    懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    客服QQ/微信
    921439866 周一至周日:09:00 - 21:00
    致力打造互联网创业第一品牌,学习网上创业赚钱,首选泓嘉网络创业,值得信赖! 泓嘉网络科技 版权所有!

    本站内容均转载于互联网,并不代表泓嘉网立场! 拒绝任何人以任何形式在本站发表与中华人民共和国法律相抵触的言论!。

    信息产业部备案号 豫ICP备2022016396号-1

    QQ|免责声明|广告服务|小黑屋|泓嘉网创 ( 豫ICP备2022016396号-1 )|网站地图

    GMT+8, 2026-4-17 10:57 , Processed in 2.201339 second(s), 25 queries .

    快速回复 返回顶部 返回列表