Vagrant up --no-parallel 标志含义

Vagrant up --no-parallel flag meaning

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

?

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