vagrant - 整合 VMware 作为 Provider

本文参考官方文档,如下操作步骤

前提

必须已经安装好 Vagrant 和 VMware Workstation

安装操作VMware的工具包

官方下载对应系统的工具包,如下图

示意图

我这里选用的版本是:vagrant-vmware-utility_1.0.21_x86_64.msi

【提示】如果不安装这个工具包会怎样?

如下报错信息,很明显,工具包充当着驱动的作用,插件无法直接操作 VMware,通过该驱动操作 VMware

1
2
3
4
5
Vagrant encountered an unexpected communications error with the
Vagrant VMware Utility driver. Please try to run the command
again. If this error persists, please open a new issue at:

https://github.com/hashicorp/vagrant-vmware-desktop/issues

安装操作工具包的插件

1
vagrant plugin install vagrant-vmware-desktop

至此,已成功整合了 VMware 作为 Vagrant 的 Provider(vagrant -> vagrant-vmware-desktop -> vagrant-vmware-utility -> vmware)

【提示】如果不安装该插件会怎样?

Vagrant 根本不支持 vmware_desktop 作为 Provider

使用测试

https://portal.cloud.hashicorp.com/vagrant/discover 搜索需要的 box,这里使用的是「generic/centos7」

PS. 我喜欢 https://portal.cloud.hashicorp.com/vagrant/discover/generic 这个作者制作的 box,但现在好像不更新了...

1
2
3
4
5
6
7
8
# 拉取box
vagrant box add --provider=vmware_desktop generic/centos7

# 创建基于该box的配置,当前目录下生成 `Vagrantfile`
vagrant init generic/centos7

# 启动虚拟机
vagrant up