Vagrant up - нет параллельного значения флага

Кто-нибудь знает, что именно 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 ответ

Решение

--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
Другие вопросы по тегам