起因
最近需要在Ubuntu
系統上安裝應用進行測試, 無奈手頭上只有一台mac
電腦, 怎么辦呢
如果使用第三方諸如Vmware
虛擬機軟件是在太費勁了
好在Ubuntu
官方給咱建議了一款虛擬機軟件Multipass
, 相比Vmware
更加輕量, 只需一行命令快速創建Ubuntu容器
注意了 Multipass
目前只支持創建Ubuntu
容器, 但是除了Mac
平台外, Multipass
還可以在Windows
和Linux
平台上使用
本文直介紹Mac
平台的用法, 其他的可以參考官網
開始使用
1.Multipass
安裝
首先需要安裝Multipass
工具
下載地址(訪問密碼:312306)
如果電腦裝了brew
可以直接命令行下載安裝:
brew cask install multipass
下載安裝成功后, 執行以下命令可以查看當前軟件版本:
multipass --version
2.創建Ubuntu容器
可以通過以下指令查看可供下載的Ubuntu鏡像:
multipass find
下載最新版的Ubuntu
鏡像並運行:
multipass launch --name ubuntu
命令執行后將自動下載並后台運行
如果你想自定義配置創建可以參考如下方式:
multipass launch -n vm01 -c 4 -m 4G -d 40G
- -n, --name: 名稱
- -c, --cpus: cpu核心數, 默認: 1
- -m, --mem: 內存大小, 默認: 1G
- -d, --disk: 硬盤大小, 默認: 5G
3.操作容器
-
進入容器
# 如果對應實例沒有運行的話,會主動運行對應實例 multipass shell 容器名稱
此時便進入到了
Ubuntu
環境中, 在此可以執行相關的linux
指令如果你不想進入容器直接執行
linux
指令, 可以使用multipass exec
指令, 比如我想在容器中創建一個名為ABC文件夾:multipass exec 容器名 mkdir ABC
-
查看容器信息
multipass info 容器名
顯示結果:
State: Running IPv4: 192.168.64.2 Release: Ubuntu 20.04.3 LTS Image hash: 97bb9f79af52 (Ubuntu 20.04 LTS) Load: 0.00 0.00 0.00 Disk usage: 1.3G out of 4.7G Memory usage: 136.0M out of 981.3M Mounts: --
-
主機和容器數據交互
第一種 使用掛載數據卷的方式:
multipass mount $HOME 容器名 # 或者指定容器目錄 multipass mount $HOME 容器名:目錄名
如果要卸載數據卷:
multipass umount 容器名
第二種
transfer
進行文件復制傳輸multipass transfer 主機文件 容器名:容器目錄
-
容器配置自動化
為了保持開發環境和線上環境一致性 同時節省部署時間
multipass
給我們提供了--cloud-init
選項進行容器啟動初始化配置:multipass launch --name ubuntu --cloud-init config.yaml
上面
config.yaml
則是容器的初始化配置文件,內容如下:#cloud-config runcmd: - curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - - sudo apt-get install -y nodejs
runcmd
可以指定容器 首次啟動 時運行的命令,上面表示首次啟動自動下載安裝 Node.js
容器管理
-
查看所有創建的容器
multipass list
-
啟動和停止運行容器
# 停止ubuntu和ubuntu1 multipass stop ubuntu ubuntu1 # 啟動ubuntu multipass start ubuntu
-
對 所有容器統一操作
# 啟動所有容器 multipass start --all # 停止所有容器 multipass stop --all # 所有容器放入回收站 multipass delete --all # 徹底刪除所有容器 multipass delete --purge --all
總結
整體操作來看, 感覺和docker
很像, 如果你只需要一個ubuntu
系統, 那么選擇Multipass
還是很方便的, 節省大量的時間
本文為作者原創 轉載時請注明出處 謝謝
微信公眾號二維碼如下: