Multipass 是一个轻量级 VM 管理器,支持 Linux、Windows 与 macOS,这是为希望使用单个命令提供全新 Ubuntu 环境的开发人员而设计的。
容器技术可以保证环境一致性,简化项目配置、部署流程,因此很受广大开发者青睐。如果你打算尝试或者已经尝试基于容器简化本地项目环境配置,但又嫌弃 docker 用起来还是不够直截了当,那么可以试下 multipass。
Multipass 建立和宿主机隔离的 Linux 容器!
multipass 会自动创建并运行一个名为 Primary 的容器(如果还没有创建或运行的话),这个容器也会自动挂载宿主机的 Home 目录,就是这么省心省力。
Multipass 使用起来十分简洁直观。它是由 Canonical (Ubuntu 背后的公司)推出的,因此使用的镜像由 Canonical 负责更新,包含最近的安全更新,以及专门为各个平台的虚拟化方案. 目前支持的镜像也只限于 Ubuntu。
安装完multipass 之后
1. 创建容器和基本使用
点击(此处)折叠或打开
-
$ multipass launch --name 容器名
-
$ multipass launch --name 容器名 --disk 2G --mem 256M --cloud-init 容器配置.yaml 18.04
-
显式指定使用 Ubuntu 18.04
-
容器配置.yaml为初始化文件, 内容为
-
----------------
-
#cloud-config
-
-
runcmd: //可以指定容器 首次启动 时运行的命令
-
- curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
-
- sudo apt-get install -y nodejs
-
- wget https://releases.leanapp.cn/leancloud/lean-cli/releases/download/v0.21.0/lean-cli-x64.deb
-
- sudo dpkg -i lean-cli-x64.deb
-
-----------------
-
可以通过 yaml 文件进行用户、文件、软件仓库、 DNS 解析、SSH 密钥、puppet、chef 等各种初始化配置。
-
-
-
-
直接通过容器上运行(exec)某个命令
-
$ multipass exec 容器名 -- lsb_release -d
-
-
通过 shell 命令「进入」容器:
-
$ multipass shell react
-
进入后会有个 完整的 Linux 环境,可以进行各种操作, 例如git clone 以及 apt install 等等.
-
-
直接挂载宿主机上的一个目录:
-
multipass mount 主机目录 容器名:/home/ubuntu/demo
-
挂载完成后,我们就可以在宿主机上使用趁手的 IDE、编辑器开发项目
-
-
cd demo
-
lean login # 使用之前注册的 LeanCloud 账号登录
-
lean switch # 选择之前创建的应用
-
npm install # 安装项目依赖
- lean up # 本地(容器内)调试
更多
点击(此处)折叠或打开
-
运行 multipass list 可以列出所有的容器:
-
-
Name State IPv4 Image
-
lean Running 192.168.64.2 Ubuntu 18.04 LTS
-
react Running 192.168.64.5 Ubuntu 18.04 LTS
-
-
停止暂时用不到的容器- 希望节约资源
-
multipass stop 容器名
-
-
multipass start 容器名 ##重新运行容器
-
- multipass delete --purge 容器名 ## 删除容器