这里的第一个计时器,但潜伏了多年:)通常我可以找到我的麻烦的答案,但今天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“ ...... ^
此时我迷失了。我已尝试过所有类型的配置但不允许我使用端口转发启动虚拟机。
提前谢谢你!
答案 0 :(得分:0)
在&#39;选项&#39;在Vagrant Forwarded Ports文档的一部分中,它说guest
和host
都是int
类型。尝试从这些变量周围删除引号("
)。
我的理解是,流浪者不会自动从string
转换为int
(for example)。
答案 1 :(得分:0)
我发现了这个问题,我错过了:定义端口转发语句的主机部分之后。现在一切正常。谢谢!