在 Mac M3 上使用 vagrant 启动虚拟机

Tags: vagrant 

目录

说明

vagrant 上的 amd64 架构的 box 镜像咋新版的 Mac 上就无法使用。因为 Mac 现在使用的自研的 M1/M2/M3 等芯片 arm64 架构。

如果想在 arm64 的 Mac 上使用 vagrant,需要使用同样使用 arm64 架构的 box,以及选择对应的 provider。

寻找 arm64 架构的 box

Discover Vagrant Boxes 有个 Architecture 筛选项,可以筛选出 arm64 的 box。

arm64 box

可以看到目前(2024-09-05 17:52:42)大部分 arm64 都不是官方维护的,使用量比较到的是最前面的 bento 项目维护的 box:

bento 也不是为每一个版本提供全部 provider 和全部 architecture 的 box,比如 bento/ubuntu-22.04

  • 版本 v202407.23.0 只提供了 amd64,只适用于 paralles 和 virtualbox
  • 版本 v202401.31.0 提供了 amd64 和 arm64,其中 arm64 只适用于 paralles 和 vmware_destop。

v202407.23.0

v202407.23.0

使用 vmware_destop 启动 arm64 box

vmware 现在针对个人免费了,优先用 vmware。

先安装 vmware:

安装完成之后,需要在本地打开一次 vmware 完成使用设置,否则 vagrant 启动 vmware 时会出错。

brew install vmware-fusion

然后安装 Vagrant VMware Utility,参考 Install Vagrant VMware Utility 中说明,从下载页下载以后打开按提示安装。

Vagrant VMware Utility

再安装 vagrant 的 vmware plugin:

vagrant plugin install vagrant-vmware-desktop

这时候就可以用 vagrant 启动虚拟机,用参数 –provider 指定 vmware_desktop:

vagrant init bento/ubuntu-22.04       # 指定支持 vmware 和 arm64 的 box
vagrant up --provider vmware_desktop

也可以在 Vagrantfile 中指定 provider,避免每次启动用参数指定:

   config.vm.provider "vmware_desktop" do |v|
   # 这里可以设置 vmware 特有的配置
   end

可以在其中添加 provider 相关的配置,这些配置项的名称和 virtualbox 是不同的,比如 vmware 设置内存和 CPU 的方式为:

   config.vm.provider "vmware_desktop" do |v|
    v.vmx["memsize"] = "1024"
    v.vmx["numvcpus"] = "2"
   end

和 provider 无关的配置项用法都是相同的。

参考

  1. 李佶澳的博客
  2. Discover Vagrant Boxes
  3. bento
  4. bento/ubuntu-22.04
  5. vagrant provider: vmware
  6. Install Vagrant VMware Utility
  7. Install Vagrant VMware Utility
  8. providers/vmware/configuration

推荐阅读

Copyright @2011-2019 All rights reserved. 转载请添加原文连接,合作请加微信lijiaocn或者发送邮件: [email protected],备注网站合作

友情链接:  系统软件  程序语言  运营经验  水库文集  网络课程  微信网文  发现知识星球