Vagrant up - 不平行旗帜的含义

时间:2015-07-22 16:01:04

标签: docker vagrant boot2docker vagrantfile dockerfile

有谁知道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

1 个答案:

答案 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