我是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

因此,基本上,我正在尝试将AWS用于Web和将数据库用于网络。是否可以从单个Vagrantfile执行此操作?下面的vagrant up命令会创建并置备两个VM吗?
vagrant up --provider=aws

最佳答案

通过Basic Provider Usage判断



这确实是有可能的!但是您必须记住,不能跨提供者边界使用公共(public)和专用网络之类的功能(通常,请参阅Private Networks)。

关于问题的第二部分,我想您需要发出两个命令,对于多虚拟机环境中的每个提供程序都发出一个命令,但这只是一个猜测-关于提供程序和多虚拟机环境的官方文档很少。

关于amazon-web-services - 单个Vagrantfile可以同时具有AWS和VirtualBox提供程序吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15767766/

10-10 10:51