zoukankan      html  css  js  c++  java
  • 在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

    乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

  • 相关阅读:
    摄影中的曝光补偿、白加黑减
    Excel表格中如何实现多列的同时筛选
    Excel表格中如何实现多列的同时筛选
    2013深圳茶博会
    2013深圳茶博会
    DiskTool 分区助手 - 免费易用的中文版“无损分区魔术师”!(完美支持Win7/32与64位系
    来自法国的山寨苹果系统——梨子系统PearOS,精美仿苹果风格的免费Linux操作系统(颇有iOS和OSX的神
    来自法国的山寨苹果系统——梨子系统PearOS,精美仿苹果风格的免费Linux操作系统(颇有iOS和OSX的神
    顺序stack的实现
    内核链表和普通链表的理解
  • 原文地址:https://www.cnblogs.com/songjianzaina/p/15210921.html
Copyright © 2011-2022 走看看