单个Vagrantfile可以同时同时拥有AWS和VirtualBox提供程序吗?

gan*_*esh 7 amazon-web-services vagrant

我是Vagrant的新手,目前正尝试从单个Vagrantfile中提供一个VirtualBox和AWS框(使用vagrant-aws插件).

我的Vagrantfile如下所示:

Vagrant.configure("2") do |config|

    config.vm.define :web do |web_config|
        web_config.vm.box = "dummy"
        web_config.vm.box_url = "https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box"

        web_config.vm.provider :aws do |aws|
            aws.access_key_id = "ACCESS KEY"
            aws.secret_access_key = "SECRET KEY"
        end
    end

    config.vm.define :db do |db_config|
        db_config.vm.box = "precise32"
        db_config.vm.box_url = "http://files.vagrantup.com/precise32.box"

        db_config.vm.provider :virtualbox  do |vb|

        end     
    end
end
Run Code Online (Sandbox Code Playgroud)

所以基本上我正在尝试使用AWS for web和数据库的网络盒.是否可以从单个Vagrantfile执行此操作?以下vagrant up命令是否会创建和配置两个VM?

vagrant up --provider=aws
Run Code Online (Sandbox Code Playgroud)

cmu*_*ur2 5

基本提供者使用情况来判断

限制

Vagrant目前限制您为每台机器提供一个提供商.如果您有多机环境,则可以启动一台由VirtualBox支持的计算机和另一台由VMware Fusion支持的计算机,但是您无法使用VirtualBox和VMware Fusion支持同一台计算机.

这是一个限制,将在未来版本的Vagrant中删除.

这确实是可能的!但您必须记住,公共和专用网络等功能不能(通常,请参阅专用网络)跨提供商边界使用.

关于你问题的第二部分,我想你需要发出两个命令,一个用于你的multi-vm环境中的每个提供者,但这只是猜测 - 关于提供者和多虚拟机环境的官方文档很少.