vagrant:我可以从多机设置中仅“vagrant up”一台机器吗
vagrant: can I `vagrant up` just one machine from multi-machine setup
我可以 vagrant up
多机设置中只有一台机器吗?
或
我怎么能有不同的开发设置,例如local
、test
和 production
?我必须有不同的 Vagrantfile
吗?
示例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
- 要启动所需的机器,只需调用
vagrant up machine_name
。
在您的配置中,它可能是 vagrant up web
.
通过在机器配置中设置 autostart: false
,您可以阻止机器在 vagrant up
调用中自动启动。更多关于 vagrant 多机配置 here.
2.There 有很多方法可以在 vagrant 中进行不同的设置。
一个。用不同的配置脚本定义不同的机器:
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
b。提供不同的参数来配置脚本:
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
c。如果您使用 puppet 作为供应商,您还可以定义自定义事实,它将指示机器是 local
、test
还是 prod
.
我可以 vagrant up
多机设置中只有一台机器吗?
或
我怎么能有不同的开发设置,例如local
、test
和 production
?我必须有不同的 Vagrantfile
吗?
示例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
- 要启动所需的机器,只需调用
vagrant up machine_name
。 在您的配置中,它可能是vagrant up web
.
通过在机器配置中设置 autostart: false
,您可以阻止机器在 vagrant up
调用中自动启动。更多关于 vagrant 多机配置 here.
2.There 有很多方法可以在 vagrant 中进行不同的设置。
一个。用不同的配置脚本定义不同的机器:
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
b。提供不同的参数来配置脚本:
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
c。如果您使用 puppet 作为供应商,您还可以定义自定义事实,它将指示机器是 local
、test
还是 prod
.