docker - Vagrant up --no-parallel 标志含义

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

最佳答案

当使用 vagrant up 来同时启动多台机器时,

--no-parallel 选项有意义:即 Vagrantfile 声明多台机器并 vagrant up 时 要么没有给出机器名称,要么没有给出多个机器名称。在这种情况下,如果提供者支持这一点(是的,Docker 提供者确实支持),Vagrant 将尝试并行启动所有请求的机器,除非给出 --no-parallel

因此,使用 Docker 提供程序,在链接容器时,可以使用 --no-parallel 来同时启动多台机器:

$ vagrant up --no-parallel

$ vagrant up /regex to match machine names/ --no-parallel

但是,如果您使用单独的命令一台一台地启动计算机,则无论是否指定 --no-parallel 都不会产生任何效果(也不会造成任何损害)。所以人们可以简单地这样做:

$ vagrant up a && vagrant up b

关于docker - Vagrant up --no-parallel 标志含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31568299/

相关文章:

linux - 从 azure 上的 Linux 服务器创建 docker 镜像

java - JDK 10 模块和 sun.security.provider.certpath.SunCertPathBuilderException

php - Laravel 加载 Vagrant 文件时出错

docker - Haproxy 和间歇性 503 问题

java - 每次进行更改时都运行 mvn package 吗?

python - 如何将文件 key 传递给在 S3 Put 上触发的 AWS-ECS 容器?

linux - Vagrant - 如何挂载 virtualbox 共享文件夹? ("vboxsf"不可用)

mysql - SQLPro 到 Vagrant 的连接问题

macos - 我的 boot2docker 安装似乎无法正常工作。我究竟做错了什么?

macos - Docker错误拨号unix/var/run/docker.sock : no such file or directory