
简介
简单介绍下Multipass的用法,Canonical公司最近出的东西越来越好玩了,这个项目其实出来很早了,最早是2017年初的时候就有了,我讲这个最主要是为了下一篇文章介绍microk8s做铺垫
因为如果microk8s要在本地mac上运行就要用到Multipass去在本地创建一个虚拟机,当然你使用virtualbox或者其他虚拟化软件创建虚拟机也是可以的,但是最简单的就是使用Multipass去创建一个Ubuntu虚拟机
安装
安装很简单直接官网下载安装包下一步下一步就好了
https://multipass.run/
使用
首先查看下当前支持使用的虚拟机镜像
multipass find
➜  ~ multipass find
Image                   Aliases           Version          Description
snapcraft:core          core16            20200115         Snapcraft builder for Core 16
snapcraft:core18                          20200115         Snapcraft builder for Core 18
16.04                   xenial            20200108         Ubuntu 16.04 LTS
18.04                   bionic,lts        20200107         Ubuntu 18.04 LTS
之后使用16.04的Ubuntu镜像创建一个虚拟机
multipass launch 16.04 -n ubuntu
第一次启动虚拟机的时候会去拉去镜像,国内网速可能会很慢
查看已经启动的虚拟机
multipass list
➜  ~ multipass list
Name                    State             IPv4             Image
ubuntu                  Running           192.168.64.5     Ubuntu 16.04 LTS
进入虚拟机
multipass shell ubuntu
不登陆虚拟机执行一个命令
multipass exec ubuntu top
查看虚拟机的详细信息
multipass info ubuntu
➜  ~ multipass info ubuntu
Name:           ubuntu
State:          Running
IPv4:           192.168.64.5
Release:        Ubuntu 16.04.6 LTS
Image hash:     070af1947c6d (Ubuntu 16.04 LTS)
Load:           0.00 0.02 0.00
Disk usage:     868.6M out of 4.8G
Memory usage:   36.6M out of 992.2M
如果你要挂载本地目录的需求的话,比如把本地的temp目录挂载到虚拟机/home/ubuntu/data目录
multipass shell ubuntu
mkdir data/
multipass mount temp ubuntu:/home/ubuntu/data
卸载已经挂载的目录
multipass umount ubuntu:/home/ubuntu/data
如果你不知道以前挂载了什么目录的话,你可以使用info命令查看
multipass info ubuntu
➜  ~ multipass info ubuntu
Name:           ubuntu
State:          Running
IPv4:           192.168.64.5
Release:        Ubuntu 16.04.6 LTS
Image hash:     070af1947c6d (Ubuntu 16.04 LTS)
Load:           0.08 0.05 0.01
Disk usage:     992.5M out of 4.8G
Memory usage:   42.2M out of 992.2M
Mounts:         /Users/bboysoul/temp => /Users/bboysoul/temp
                    UID map: 501:default
                    GID map: 20:default
                /Users/bboysoul/temp => /home/ubuntu/data
                    UID map: 501:default
                    GID map: 20:default
停止虚拟机
multipass stop ubuntu
启动虚拟机
multipass start ubuntu
重启虚拟机
multipass restart ubuntu
删除一个虚拟机,注意这里的删除不是真正的删除
multipass delete ubuntu
使用list命令你还是可以看到他存在的
multipass list
➜  temp multipass list
Name                    State             IPv4             Image
ubuntu                  Deleted           --               Not Available
只不过状态变成了Deleted,所以这个时候你可以恢复这个虚拟机
multipass recover ubuntu
之后我们查看这个虚拟机的状态
multipass list
➜  temp multipass list
Name                    State             IPv4             Image
ubuntu                  Stopped           --               Ubuntu 16.04 LTS
这个时候状态就变成了停止
之后我们真的删除他
multipass delete ubuntu
执行下面这个命令真正删除清理这个虚拟机
multipass purge
欢迎关注我的博客www.bboy.app
Have Fun
