搭建Multipass环境
目录Multipass 是一种在 Linux、macOS 和 Windows 上快速生成云式 Ubuntu VM 的工具。
它为您提供了一个简单但功能强大的 CLI,使您可以快速访问 Ubuntu 命令行或创建您自己的本地迷你云。
Macos系统搭建 https://multipass.run/docs/mac-tutorial
使用brew安装
# 安装
brew install --cask multipass
# 卸载
brew uninstall multipass
# or
brew uninstall --zap multipass # to destroy all data, too
# 版本检测
multipass version
# 创建第一个实例
➜ multipass launch
Launched: merciful-monitor
创建自定义实例
使用multipass find
展示了所以可以运行的镜像列表
multipass find.
终端显示
➜ multipass find
Image Aliases Version Description
snapcraft:core18 18.04 20201111 Snapcraft builder for Core 18
snapcraft:core20 20.04 20210921 Snapcraft builder for Core 20
snapcraft:core22 22.04 20220426 Snapcraft builder for Core 22
18.04 bionic 20221014 Ubuntu 18.04 LTS
20.04 focal 20221018 Ubuntu 20.04 LTS
22.04 jammy,lts 20221101.1 Ubuntu 22.04 LTS
anbox-cloud-appliance latest Anbox Cloud Appliance
charm-dev latest A development and testing environment for charmers
docker latest A Docker environment with Portainer and related tools
jellyfin latest Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media.
minikube latest minikube is local Kubernetes
创建一个随机名称的实例
➜ multipass launch jammy
Launched: wired-platypus
~ took 28.9s
# 我们可以通过运行以下命令来检查有关新实例的一些基本信息
# 这告诉lsb_release -a Multipass 在“wired-platypus”实例上执行命令。
➜ multipass exec wired-platypus -- lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy
删除实例
multipass delete wired-platypus
## --purage彻底删除
multipass delete --purge ubuntu-lts 彻底删除
恢复删除实例
multipass recover wired-platypus # ubuntu-lts实例名称
启动虚拟机
multipass start wired-platypus # ubuntu-lts实例名称
暂停虚拟机
multipass stop wired-platypus # ubuntu-lts实例名称
挂起实例
multipass suspend wired-platypus
启动实例
# 现在让我们通过运行以下命令来启动我们正在寻找的实例类型:
multipass launch lts --name ltsInstance --mem 2G --disk 10G --cpus 2
传输文件transfer
$ multipass transfer keen-yak:/etc/crontab keen-yak:/etc/fstab /home/michal
$ ls -l /home/michal/crontab /home/michal/fstab
-rw-r--r-- 1 michal michal 722 Oct 18 12:13 /home/michal/crontab
-rw-r--r-- 1 michal michal 82 Oct 18 12:13 /home/michal/fstab
$ multipass transfer /home/michal/crontab /home/michal/fstab keen-yak:
$ multipass exec keen-yak -- ls -l crontab fstab
-rw-rw-r-- 1 ubuntu ubuntu 722 Oct 18 12:14 crontab
-rw-rw-r-- 1 ubuntu ubuntu 82 Oct 18 12:14 fstab
挂载和卸载主机和实例目录
挂载目录
multipass mount /Users/weibin/ubuntu/ltsInstance ltsInstance
# /Users/weibin/ubuntu/ltsInstance 主机和实例目录相同
multipass shell ltsInstance
cd /Users/weibin/ubuntu/ltsInstance
psw
/Users/weibin/ubuntu/ltsInstance
用法:multipass mount [options] <source> <target> [<target> ...]
在实例中挂载本地目录。如果实例是
当前未运行,将挂载该目录
下次启动时自动。
选项:
-h, --help 显示有关命令行选项的帮助
-v, --verbose 增加日志记录的详细程度。重复'v'
在简短选项中了解更多详细信息。最大限度
冗长是通过 4 个(或更多)v 获得的,
即-vvvv。
-g, --gid-map <host>:<instance> 用于挂载的组 ID 的映射。
文件和文件夹所有权将从
<host> 到实例内部的 <instance>。能
多次使用。
-u, --uid-map <host>:<instance> 用于挂载的用户 ID 映射。
文件和文件夹所有权将从
<host> 到实例内部的 <instance>。能
多次使用。
参数:
source 要挂载的本地目录路径
target 目标挂载点,在<name>[:<path>]
格式,其中 <name> 是实例名称,并且
可选的 <path> 是挂载点。如果
省略,挂载点将与
源的绝对路径
挂载目录-制定实例内目录
multipass mount $HOME ltsInstance:/some/path
# $HOME 当前主机用户根目录
# ltsInstance 实例名称
# /some/path 实例对应目录
挂载目录-启动时直接指定
multipass launch --mount /some/local/path:/some/instance/path
卸载目录
multipass umount ltsInstance
# ltsInstance 实例名称
管理实例
multipass info ltsInstance查询实例信息
➜ multipass info ltsInstance
Name: ltsInstance
State: Running
IPv4: 192.168.64.4
Release: Ubuntu 22.04.1 LTS
Image hash: 1d24e397489d (Ubuntu 22.04 LTS)
Load: 1.18 0.37 0.13
Disk usage: 1.4G out of 9.5G
Memory usage: 180.8M out of 1.9G
Mounts: --
multipass list 查看所有运行中的实例
➜ multipass list
Name State IPv4 Image
ltsInstance Running 192.168.64.4 Ubuntu 22.04 LTS
merciful-monitor Running 192.168.64.2 Ubuntu 22.04 LTS
wired-platypus Deleted -- Not Available
使用实例
multipass shell ltsInstance进入一个实例
安装一个网络服务器
sudo apt update
sudo apt install apache2
在浏览器输入multipass list
中看到的IPv4地址访问
搭建Docker环境
一些环境需要大量的配置和设置。多通道蓝图是具有深度定制的实例。例如,Docker Blueprint 是一个预配置的 Docker 环境,其中已经运行了一个 Portainer 容器。我们可以使用 Docker 蓝图启动一个实例,方法是运行multipass launch docker --name docker-dev
完成后,让我们运行multipass info docker-dev
记录新实例的 IP。
➜ multipass alias docker:docker
You'll need to add this to your shell configuration (.bashrc, .zshrc or so) for
aliases to work without prefixing with `multipass`:
PATH="$PATH:/Users/weibin/Library/Application Support/multipass/bin"
标签:Macos,--,ltsInstance,multipass,实例,ubuntu,挂载,搭建
From: https://www.cnblogs.com/smallwolf/p/17122839.html