我可以vagrant up
从多机器设置中只使用一台机器吗?
或
我怎么能有不同的设置来开发,例如local
,test
和production
?我必须有不同的Vagrantfile
s?
示例Vagrantfile
(取自多机文档页面)
Vagrant.configure("2") do |config|
config.vm.provision "shell", inline: "echo Hello"
config.vm.define "web" do |web|
web.vm.box = "apache"
end
config.vm.define "db" do |db|
db.vm.box = "mysql"
end
end
答案 0 :(得分:1)
vagrant up machine_name
。
在您的配置中,它可以是vagrant up web
。通过在计算机配置中设置autostart: false
,可以在vagrant up
呼叫中阻止计算机的自动启动。有关vagrant多机配置的更多信息here。
2.有很多方法可以在流浪汉中设置不同的设置。
一个。使用不同的规定脚本定义不同的机器:
config.vm.define "m1", autostart: false do |m1|
m1.vm.provision "shell" do |s|
s.path = "path_to/m1_provision_script.sh"
end
end
config.vm.define "m2", autostart: false do |m2|
m2.vm.provision "shell" do |s|
s.path = "path_to/m2_provision_script.sh"
end
end
湾为配置脚本提供不同的参数:
config.vm.define "m1", autostart: false do |m1|
m1.vm.provision "shell" do |s|
s.path = "path_to/provision_script.sh"
s.args = "machine_1"
end
end
config.vm.define "m2", autostart: false do |m2|
m2.vm.provision "shell" do |s|
s.path = "path_to/provision_script.sh"
s.args = "machine_2"
end
end
℃。如果您使用puppet作为供应商,您还可以定义自定义事实,以指示机器是local
,test
还是prod
。