在Mac平台上使用Multipass安裝Ubuntu虛擬機


起因

最近需要在Ubuntu系統上安裝應用進行測試, 無奈手頭上只有一台mac電腦, 怎么辦呢

如果使用第三方諸如Vmware虛擬機軟件是在太費勁了

好在Ubuntu官方給咱建議了一款虛擬機軟件Multipass, 相比Vmware更加輕量, 只需一行命令快速創建Ubuntu容器

注意了 Multipass目前只支持創建Ubuntu容器, 但是除了Mac平台外, Multipass還可以在WindowsLinux平台上使用

本文直介紹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.操作容器

  1. 進入容器

    # 如果對應實例沒有運行的話,會主動運行對應實例
    multipass shell 容器名稱
    

    image-20210831150818963

    此時便進入到了Ubuntu環境中, 在此可以執行相關的linux指令

    如果你不想進入容器直接執行linux指令, 可以使用multipass exec指令, 比如我想在容器中創建一個名為ABC文件夾:

    multipass exec 容器名 mkdir ABC
    
  2. 查看容器信息

    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:         --
    
  3. 主機和容器數據交互

    第一種 使用掛載數據卷的方式:

    multipass mount $HOME 容器名
    
    # 或者指定容器目錄
    multipass mount $HOME 容器名:目錄名
    

    如果要卸載數據卷:

    multipass umount 容器名
    

    第二種 transfer 進行文件復制傳輸

    multipass transfer 主機文件 容器名:容器目錄
    
  4. 容器配置自動化

    為了保持開發環境和線上環境一致性 同時節省部署時間 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

容器管理

  1. 查看所有創建的容器

    multipass list
    
  2. 啟動和停止運行容器

    # 停止ubuntu和ubuntu1
    multipass stop ubuntu ubuntu1
    # 啟動ubuntu
    multipass start ubuntu
    
  3. 對 所有容器統一操作

    # 啟動所有容器
    multipass start --all
    # 停止所有容器
    multipass stop --all
    # 所有容器放入回收站
    multipass delete --all
    # 徹底刪除所有容器
    multipass delete --purge --all
    
    

總結

整體操作來看, 感覺和docker很像, 如果你只需要一個ubuntu系統, 那么選擇Multipass還是很方便的, 節省大量的時間

本文為作者原創 轉載時請注明出處 謝謝

B站入口

打賞通道

微信公眾號二維碼如下:

img

亂碼三千 – 點滴積累 ,歡迎來到亂碼三千技術博客站


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM