首页 公告 项目 RSS

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

January 17, 2020 本文有 833 个字 需要花费 2 分钟阅读

简介

简单介绍下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