vagrant port forwarding错误

时间:2016-03-14 22:12:05

标签: vagrant virtualbox

这里的第一个计时器,但潜伏了多年:)通常我可以找到我的麻烦的答案,但今天nto :) 我有以下流浪文件:

Vagrant.configure(2) do |config|
config.vm.define :webserver do |webserver|
   webserver.vm.box = "vagrant-centos-base.box" 
   webserver.vm.box_url = "http://127.0.0.1/vagrant-centos-base.box"
   #webserver.memory = "512"
   webserver.vm.network "private_network", ip: "10.2.0.10"
   #webserver.vm.network :forwarded_port, guest: 80, host 80
   webserver.vm.network "forwarded_port", guest: "443", host "443"# , protocol: "tcp"
   webserver.vm.provider "virtualbox" do |vb|
     vb.customize ["modifyvm", :id, "--memory", "512"]
     vb.customize ["modifyvm", :id, "--cpus", "1"]
   end 
    webserver.vm.provision "shell", inline: <<-SHELL
        sudo hostname webserver
    SHELL
    #webserver.vm.provision "ansible" do |ansible|
    #   ansible.playbook="playbook.yml"
    #end
end

    config.vm.define :appserver do |appserver|
   appserver.vm.box = "vagrant-centos-base.box"
   appserver.vm.box_url = "http://127.0.0.1/vagrant-centos-base.box"
   #appserver.memory = "1024"
   appserver.vm.network "private_network", ip: "10.2.0.11"
   appserver.vm.provider "virtualbox" do |vb|
     vb.customize ["modifyvm", :id, "--memory", "1024"]
     vb.customize ["modifyvm", :id, "--cpus", "2"]
     #vb.customize ["createhd", "--filename", "disk.vmdk", "--size", "1024"]
     #vb.customize ["storageattach", :id, "--storagectl", "SATA Controller", "--port", 1, "--device", 0, "--type", "hdd", "--medium", "disk.vmdk"]
     #vb.customize ["storageattach", :id, "--storagectl", "SATA Controller", "--port", "1", "--type", "hdd", "--medium", "machine1_disk0.vdi"]
   end 
   appserver.vm.provision "shell", inline: <<-SHELL
        sudo hostname appserver
    SHELL
end

当我尝试发出流浪汉时,我收到以下错误:

  

语法错误,意外',',期待关键字_end ... ort“,来宾:   “443”,主机“443”,协议:“tcp”...... ^   如果我注释掉协议部分,我会得到一些不同的   那么::语法错误,意外的tSTRING_BEG,期待keyword_do或   '{'或'('... ded_port“,来宾:”443“,主持人”443“#,协议:”tcp“   ...... ^

此时我迷失了。我已尝试过所有类型的配置但不允许我使用端口转发启动虚拟机。

提前谢谢你!

2 个答案:

答案 0 :(得分:0)

在&#39;选项&#39;在Vagrant Forwarded Ports文档的一部分中,它说guesthost都是int类型。尝试从这些变量周围删除引号(")。

我的理解是,流浪者不会自动从string转换为intfor example)。

答案 1 :(得分:0)

我发现了这个问题,我错过了:定义端口转发语句的主机部分之后。现在一切正常。谢谢!