说起虚拟机工具大家最熟悉的自然是 VMware,功能很多很强大,最让我认可的地方就是可以非常方便的修改虚拟机的配置,让虚拟机达到自己想要的性能~~
可是 VMware 好用是真的好用,但就是要付费呀!还不便宜,每次续费的时候我多多少少都有点心疼~~
推荐了一款虚拟机工具:Multipass,非常轻量级的虚拟机命令管理工具。运行环境支持 Linux、Windows 和 macOS。(注意:需要依赖于 viturlbox 使用)
首先我们需要在官网下载并且安装 Multipass ,选择自己对应的操作系统,我选择的是 Windows 。
安装之后,进入安装目录,cmd进入
#查看自己安装的版本
multipass version
multipass 1.8.0+win
multipassd 1.8.0+win
#查看可下载使用的Ubuntu镜像(只能下载Ubuntu,因为该软件是Ubuntu公司研发的~)
multipass find
Image Aliases Version Description
core core16 20200818 Ubuntu Core 16
core18 20211124 Ubuntu Core 18
18.04 bionic 20211129 Ubuntu 18.04 LTS
20.04 focal,lts 20211129 Ubuntu 20.04 LTS
21.04 hirsute 20211130 Ubuntu 21.04
21.10 impish 20211209 Ubuntu 21.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
anbox-cloud-appliance latest Anbox Cloud Appliance
minikube latest minikube is local Kubernetes
#新建一个容器(用来存放镜像的,docker 关键字解释:镜像是“构建时”状态,容器是“运行时”状态)
multipass launch --name ubuntu
Launched: ubuntu
#下载最新版 Ubuntu 镜像
multipass exec ubuntu -- lsb_release -d
Description: Ubuntu 20.04.4 LTS
#查看虚拟机列表
multipass list
Name State IPv4 Image
ubuntu Running 172.17.0.1 Ubuntu 20.04 LT
#查看虚拟机信息
multipass info --all
Name: ubuntu
State: Running
IPv4: 172.17.0.1
172.18.0.1
Release: Ubuntu 20.04.3 LTS
Image hash: 27cecebaf8c6 (Ubuntu 20.04 LTS)
Load: 0.00 0.00 0.00
Disk usage: 3.1G out of 4.7G
Memory usage: 272.5M out of 981.2M
Mounts: D:/multipass_profile => /home/wxy/docker
UID map: -2:default
GID map: -2:default
#进入虚拟机
multipass shell ubuntu
# 暂停
multipass stop ubuntu
# 启动
multipass start ubuntu
# 删除
multipass delete ubuntu
# 释放
multipass purge ubuntu
如果你不想进入系统内部,可通过 multipass exce 命令,来操作 Ubuntu 系统。(没啥用)
multipass exec ubuntu pwd
/home/ubuntu
既要保持开发环境和线上环境一致,又要节省部署时间。我们可以使用 --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 可以指定容器首次启动时运行的命令
如果想把一些文件传递到安装的容器中,那么可以把宿主机的一个文件夹挂载到容器中,这样宿主机中的所有文件将会共享给容器;(注意:使用管理员模式执行命令)
multipass mount D:\multipass_profile(宿主机文件夹) ubuntu(容器名):/home/ubuntu(目标文件夹)
官网:https://multipass.run/
文档:https://multipass.run/docs/