有谁知道vagrant up --no-parallel
标志究竟是什么?我在文档中发现每当我在同一个Vagrantfile中链接两个不同的容器时我都应该使用它。
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.define "a" do |app|
app.vm.provider "docker" do |d|
d.name = "a"
d.image = "a"
end
end
config.vm.define "b" do |app|
app.vm.provider "docker" do |d|
d.name = "b"
d.image = "b"
d.link("a:a")
end
end
end
如果我的Vagrantfile看起来像这样,我该怎么办?
vagrant up a --no-parallel && vagrant up b
或
vagrant up a && vagrant up b --no-parallel
或
vagrant up --no-parallel
答案 0 :(得分:3)
--no-parallel
用于完全启动多台计算机时, vagrant up
选项是有意义的:即Vagrantfile声明多台计算机并且vagrant up
没有给出机器名或多个计算机名。在这种情况下,如果提供程序支持这一点(是的,Docker提供程序确实支持),Vagrant将尝试并行启动所有请求的计算机,除非给出--no-parallel
。
使用Docker提供程序时,在链接容器时,可以在完全启动多台计算机时使用--no-paralel
:
$ vagrant up --no-parallel
或
$ vagrant up /regex to match machine names/ --no-parallel
但是,如果您使用单独的命令逐个启动计算机,则如果指定了--no-parallel
,它将不起作用(也没有任何伤害)。所以人们可以这样做:
$ vagrant up a && vagrant up b