Windows也能一键轻松安装docker部署容器跑项目了

官网地址:https://multipass.run/

优点:

适用于 Windows、macOS 和 Linux 的虚拟机

使用每个平台的本机虚拟机管理程序启动 Ubuntu VM

Multipass 在 Windows 上使用 Hyper-V,在 macOS 上使用 QEMU 和 HyperKit,在 Linux 上使用 LXD,以最小化开销并实现最快的启动时间

window下载地址: https://multipass.run/install

在 Windows 上安装 Multipass

  1. 下载适用于 Windows 的 Multipass

    注意:您需要 Windows 10 Pro/Enterprise/Education v 1803 或更高版本,或任何带有 VirtualBox 的 Windows 10

  2. 确保您的网络是私密的

    确保您的本地网络被指定为私有网络,否则 Windows 将阻止 Multipass 启动。

  3. 运行安装程序

    您需要允许安装程序获得管理员权限。

如何启动 LTS 实例

使用 Multipass 的前五分钟,您就会知道拥有一个轻量级云是多么容易。让我们启动几个 LTS 实例,列出它们,执行命令,使用 cloud-init 并清理旧实例以开始。

启动一个实例(默认情况下,您将获得当前的 Ubuntu LTS)

multipass launch --name foo

在该实例中运行命令,尝试运行 bash(注销或 ctrl-d 退出)

multipass exec foo -- lsb_release -a

查看您的实例

multipass list

停止和启动实例

multipass stop foo bar
multipass start foo

清理不需要的东西

multipass delete bar
multipass purge

查找要启动的替代图像

multipass find

在启动时将 cloud-init 元数据文件传递给实例。有关更多详细信息,请参阅将 cloud-init 与 multipass 结合使用

multipass launch -n bar --cloud-init cloud-config.yaml

查看您的实例

multipass list

得到帮助

multipass help
multipass help <command>
简单使用
查看支持的系统镜像列表
multipass find
❤️ 新建和运行 ubuntu
multipass launch --name <虚拟机实例名称> <系统镜像名称(可选)>

举例,比如创建一个名为 vm1 的虚拟机实例,不写系统镜像这个参数,则表示最新版ubuntu 24.04

multipass launch --name vm1
以后如何调用虚拟机?
方法一 任务栏图标点击右键——Open Shell


方法二 运行指定虚拟机实例名称即可

multipass shell vm1
如何换 国内 软件源 比如阿里云 Ubuntu 24.04 为例
sudo sed -i 's|http://archive.ubuntu.com/|http://mirrors.aliyun.com/|g' /etc/apt/sources.list.d/ubuntu.sources
或者手动修改 配置文件

nano /etc/apt/sources.list.d/ubuntu.sources


然后更新软件源
sudo -i
apt update -y
apt upgrade -y
如何删除虚拟机实例(分三步)
# 停止 vm1
multipass stop vm1
# 删除 vm1
multipass delete vm1
# 清理回收
multipass purge

# 附加

# 停止全部虚拟机
multipass stop --all
查看虚拟机列表
# 查看虚拟机列表 包括其状态(正在运行、已经删除的、已经停止的、标记未知状态的)
multipass list
进阶使用
新建 4核心 4GB内存 300G虚拟磁盘的ubuntu 实例
multipass launch --name vm3 -c 4 -m 4G -d 300G
vm3 虚拟机名称

-c 4 代表虚拟4核心 这个要根据实际CPU核心数确定 不能随便写 比如本身2核心的cpu是无法虚拟4核心的

-m 4G 代表虚拟4GB内存

-d 300G 代表分配虚拟磁盘300GB

设置桥接模式的网络
multipass set local.bridged-network=<name>
# 比如重命名以太网2为lan2
multipass set local.bridged-network=lan2
<name> 就是网口的名称 比如 以太网,但是最好重命名为英文,比如lan1、lan2

创建桥接模式的虚拟机vm4
multipass launch --name vm4 -c 4 -m 4G -d 300G --network bridged
❤️ 扩展知识
可能有小伙伴会问 笔记本电脑没有 有线网卡。只有Wifi 应该如何桥接呢?有时候,windows 下的multipass 可能打印不出wifi网卡。比如 输入 multipass networks

遇到识别不出wifi 网卡的情况,其实还可以利用Hyper-V 管理器新建一个虚拟交换机。

打开hyper-v管理器。点击【虚拟交换管理器】-【新建虚拟网络交换机】-【外部】-【创建】 然后你勾选一下你的 wifi 无线网卡,然后 名称的话 改成英文吧,比如 wifi 。这样应用之后,你再去打印multipass networks 就能识别wifi啦

THE END