0%

使用Multipass在你的windows或者mac电脑上快速创建一个Ubuntu虚拟机

简介

简单介绍下Multipass的用法,Canonical公司最近出的东西越来越好玩了,这个项目其实出来很早了,最早是2017年初的时候就有了,我讲这个最主要是为了下一篇文章介绍microk8s做铺垫

因为如果microk8s要在本地mac上运行就要用到Multipass去在本地创建一个虚拟机,当然你使用virtualbox或者其他虚拟化软件创建虚拟机也是可以的,但是最简单的就是使用Multipass去创建一个Ubuntu虚拟机

安装

安装很简单直接官网下载安装包下一步下一步就好了

https://multipass.run/

使用

首先查看下当前支持使用的虚拟机镜像

multipass find

1
2
3
4
5
6
➜  ~ 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

1
2
3
➜  ~ 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

1
2
3
4
5
6
7
8
9
➜  ~ 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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
➜  ~ 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

1
2
3
➜  temp multipass list
Name State IPv4 Image
ubuntu Deleted -- Not Available

只不过状态变成了Deleted,所以这个时候你可以恢复这个虚拟机

multipass recover ubuntu

之后我们查看这个虚拟机的状态

multipass list

1
2
3
➜  temp multipass list
Name State IPv4 Image
ubuntu Stopped -- Ubuntu 16.04 LTS

这个时候状态就变成了停止

之后我们真的删除他

multipass delete ubuntu

执行下面这个命令真正删除清理这个虚拟机

multipass purge

欢迎关注Bboysoul的博客www.bboy.app

Have Fun