虚拟机软件太多了,出名的莫过于 VMware , VirutlaBox 以及 Parallels Desktop 。
我们使用虚拟机软件一般有两种用途:
安装不同于宿主机系统的拥有用户界面的操作系统,蓝狮注册开户比如Windows安装桌面版 Ubuntu ,Mac安装 Windows 等,用于日常工作和生活的使用;
这一需求我目前使用 Parallels Desktop 来解决,在我本机上安装了 Windows 和 Ubuntu 的桌面版。 Parallels Desktop 除了贵,没有其他问题!
另一种是便于开发者快速创建和部署虚拟化开发环境(集群环境),本文推荐的虚拟软件就是这个作用。
之前我在Windows上都是使用 VirtualBox + Vagrant 的方式快速创建和销毁虚拟机。现在我的工作主机换成了M1芯片的Mac,而 VirtualBox 并没有给予适配。
最近发现了一款叫做 Multipass 的虚拟机软件,重点是,我的M1电脑可以使用!接下来给大家分享一下使用心得。
- 下载安装Multipass
Mac下推荐使用 brew 安装 Multipass ,免去了点击下载,解压以及安装的步骤
brew install –cask multipass
安装之后,查看是否安装成功
➜ ~ multipass version
multipass 1.9.2+mac
multipassd 1.9.2+mac
- 查看Multipass支持的镜像
➜ ~ multipass find
Image Aliases Version Description
18.04 bionic 20220615 Ubuntu 18.04 LTS
20.04 focal,lts 20220615 Ubuntu 20.04 LTS
21.10 impish 20220609 Ubuntu 21.10
22.04 jammy 20220609 Ubuntu 22.04 LTS
anbox-cloud-appliance latest Anbox Cloud Appliance
charm-dev latest A development and testing environment for charmers
docker latest A Docker environment with Portainer and related tools
minikube latest minikube is local Kubernetes
注意: Multipass 只提供了 Ubuntu 的发行版镜像,这对于开发人员开说并不算什么缺点,至少对我是这样的 - 创建虚拟机
接下来我们选择需要的镜像版本来安装 Ubuntu 实例,这里以 jammy (镜像列表的 Aliases 一列)为例
➜ ~ multipass launch jammy
Launched: boss-wallaroo
其中, boss-wallaroo 是 Multipass 给 jammy 镜像实例随机起的名字,你也可以使用 –name 来指定实例名称。
~ multipass launch jammy –name chanmufeng-ubuntu
Launched: chanmufeng-ubuntu
- 操作虚拟机
4.1. 查看虚拟机列表
使用 multipass info –all 查看安装的所有虚拟机
➜ ~ multipass info –all
Name: chanmufeng-ubuntu
State: Running
IPv4: 192.168.64.3
Release: Ubuntu 22.04 LTS
Image hash: 746fd17e2944 (Ubuntu 22.04 LTS)
Load: 0.02 0.02 0.00
Disk usage: 1.3G out of 4.7G
Memory usage: 162.4M out of 961.9M
Mounts: —
Name: lucky-dog
State: Stopped
IPv4: —
Release: —
Image hash: 746fd17e2944 (Ubuntu 22.04 LTS)
Load: —
Disk usage: —
Memory usage: —
Mounts: —
执行结果表明,我电脑上有了2个实例,分别是 chanmufeng-ubuntu (运行中)、 lucky-dog (停止状态)。
4.2. 进入虚拟机,执行命令
执行 multipass shell 实例名 进入实例,如果实例未启动,则会自动启动
➜ ~ multipass shell lucky-dog
Welcome to Ubuntu 22.04 LTS (GNU/Linux 5.15.0-37-generic aarch64)
- Documentation: https://help.ubuntu.com
- Management: https://landscape.canonical.com
- Support: https://ubuntu.com/advantage System information as of Sun Jun 19 21:06:43 CST 2022 System load: 0.3203125
Usage of /: 29.8% of 4.77GB
Memory usage: 20%
Swap usage: 0%
Processes: 100
Users logged in: 0
IPv4 address for enp0s1: 192.168.64.2
IPv6 address for enp0s1: fd96:8c7d:a0ba:459d:5054:ff:fea5:1ea3
0 updates can be applied immediately.
Last login: Tue Jun 14 13:41:27 2022 from 192.168.64.1
ubuntu@lucky-dog:~$ ~
然后就可以在 lucky-dog 中自由地玩耍了。
4.3. 停止/重启虚拟机
暂停
➜ ~ multipass stop lucky-dog
启动
➜ ~ multipass start lucky-dog
4.4. 移除实例到“回收站”
使用如下命令删除实例
➜ ~ multipass delete chanmufeng-ubuntu
delete 命令只是将 chanmufeng-ubuntu 实例标记为 DELETED 状态而已,相当于放到了回收站,但是本身依然存在。
使用 list 命令看一下
➜ ~ multipass list
Name State IPv4 Image
chanmufeng-ubuntu Deleted — Not Available
lucky-dog Running 192.168.64.2 Ubuntu 22.04 LTS
如果后悔了,可以使用 recover 命令进行撤销
➜ ~ multipass recover chanmufeng-ubuntu
再次使用 list 命令看一下
➜ ~ multipass list
Name State IPv4 Image
chanmufeng-ubuntu Stopped — Not Available
lucky-dog Running 192.168.64.2 Ubuntu 22.04 LTS
4.5. 彻底删除实例
这一步相当于从“回收站”彻底删除,当然了,前提是实例必须已经被放在了“回收站”。
➜ ~ multipass delete chanmufeng-ubuntu
➜ ~ multipass purge
➜ ~ multipass list
Name State IPv4 Image
lucky-dog Running 192.168.64.2 Ubuntu 22.04 LTS
- 其他进阶功能
除了以上基本功能, Multipass 还提供其他进阶功能,蓝狮注册登陆本文只是提一嘴,更多细节,大家访问官网查看一下文档即可。
5.1. 自定义硬件配置
可以自定义CPU核心数、硬盘大小以及内存大小等参数
自定义网卡配置和DNS配置
5.2. 快速配置环境
虚拟机功能给我们带来的好处就是对于实例,我们想建就建,想删就删。
可是删了之后重新建立,难免很多软件和工具需要重新进行配置, Mutipass 提供了 –cloud-init 对容器进行初始化配置。
➜ ~ multipass launch –name ubuntu –cloud-init config.yaml
config.yaml 是初始化配置文件,内容如下:
runcmd:
- curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash –
- sudo apt-get install -y nodejs
runcmd 可以指定容器首次启动时运行的命令
5.3. 搭配VirtualBox
当然,这个功能不适合M1,但是在其他平台上搭配 VirtualBox 可以实现和 Vagrant 同样的效果。
通过 VirtualBox 对 Multipass 虚拟机进行可视化操作。
还有其他的一些功能需要读者朋友们自己发掘一下了,更多细节参见 官网 。
0 Comments