2017-01-11 18 views
0

我已经在从Serverfault搬到这个问题,我认为这是更:-)流浪 - 下面的设置是不应该存在:记忆,名字

属于有问题的我在MacOS版本流浪1.9.1我有VirtualBox 5.1.12 我想要创建一个多机器的Vagrant文​​件,当我想运行它时遇到麻烦。

我得到的消息:

There are errors in the configuration of this machine. Please fix the following errors and try again:

vm: * The following settings shouldn't exist: memory, name

现在,在这个阶段,我已经注释掉第二台机器,因为我得到的错误两次 - 所以我只是试图解决的第一个。

我看到的其他线程,我应该删除是在“网络”块线.vm,但如果我这样做,那么我得到这个错误:

There are errors in the configuration of this machine. Please fix the following errors and try again:

Vagrant: * Unknown configuration section 'memory='.
* Unknown configuration section 'name='.
* Unknown configuration section 'network'.
* Unknown configuration section 'provision'.

我是有点因为我所得到的答案在理论上是有道理的,而且我从流浪的文档开始写这篇文章,但是不知何故,我无法让它运行起来。

我的无业游民的文件就在这里 - 所以请任何帮助,将不胜感激:-)

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

config.vm.box = "bento/ubuntu-16.04" 

config.vm.provider "virtualbox" do |vb| 
    vb.gui = false 
end 

config.vm.define "web" do |web| 
    web.vm.name = "16.04-web01" 
    web.vm.memory = "512" 
    web.vm.network "private_network", ip: "192.168.50.3" 
    web.vm.network "forwarded_port", guest: 80, host: 8083 
    web.vm.network "public_network", bridge: "en1: Wi-Fi (AirPort)" 
    web.vm.provision :shell, path: "bootstrap.sh"  
end 

# config.vm.define :sql01 do |sql| 
#  sql.vm.name = "16.04-sqlserver" 
#  sql.vm.memory = "4096" 
#  sql.vm.network "private_network", ip: "192.168.50.2" 
#  sql.vm.network "forwarded_port", guest: 80, host: 8084 
#  sql.vm.network "public_network", bridge: "en1: Wi-Fi (AirPort)" 
#  sql.vm.provision :shell, path: "bootstrap.sh"  
# end 

#Options for Me specific 
config.vm.synced_folder "/Applications/MAMP/htdocs/", "/htdocs_home" 

end 

回答

3

namememory是供应商特定的参数,以便他们需要在这个块被移动

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

    config.vm.box = "geerlingguy/ubuntu1604" 

    config.vm.define "web" do |web| 
     web.vm.network "private_network", ip: "192.168.50.3" 
     web.vm.network "forwarded_port", guest: 80, host: 8083 
     web.vm.network "public_network", bridge: "en1: Wi-Fi (AirPort)" 
     web.vm.provision :shell, path: "bootstrap.sh"  

     web.vm.provider "virtualbox" do |vb| 
      vb.gui = false 
      vb.name = "16.04-web01" 
      vb.memory = "512" 
     end 
    end 

    config.vm.define :sql01 do |sql| 
     sql.vm.network "private_network", ip: "192.168.50.2" 
     sql.vm.network "forwarded_port", guest: 80, host: 8084 
     sql.vm.network "public_network", bridge: "en1: Wi-Fi (AirPort)" 
     sql.vm.provision :shell, path: "bootstrap.sh"  

     sql.vm.provider "virtualbox" do |vb| 
      vb.gui = false 
      vb.name = "16.04-sqlserver" 
      vb.memory = "4096" 
     end 
    end 

    #Options for Me specific 
    config.vm.synced_folder "/Applications/MAMP/htdocs/", "/htdocs_home" 

end 
+0

那么我可以为不同的机器设置不同的名称和内存分配吗? –

+0

sure ..编辑答案以显示示例...提供者块然后需要在每个VM块内,如果您在外部设置它适用于所有虚拟机 –

+0

嗯,这很酷,这是有道理的 - 没有考虑把提供者在定义:-) –