Установка Docker на Vagrant multi-machine

Я пытаюсь настроить несколько машин с помощью Vagrant и мне нужно установить Docker на них. Все отлично работает при использовании Vagrantfile, например:

Vagrant.configure("2") do |config|
  config.vm.box = "bento/ubuntu-18.04"
  config.vm.provision "docker"

  config.vm.define :worker1 do |w1|
    w1.vm.hostname = "worker1"
  end

  config.vm.define :worker2 do |w2|
    w2.vm.hostname = "worker2"
  end
end

Тем не менее, я хотел бы нарисовать разные изображения на каждой из этих машин. При вложении шага подготовки Docker Docker даже не устанавливается на машины.

Vagrant.configure("2") do |config|
  config.vm.box = "bento/ubuntu-18.04"

  config.vm.define :worker1 do |w1|
    w1.vm.hostname = "worker1"
    w1.vm.provision "docker" do |w1d|
      w1d.pull_images "python"
    end
  end

  config.vm.define :worker2 do |w2|
    w2.vm.hostname = "worker2"
    w2.vm.provision "docker" do |w2d|
      w2d.pull_images "openjdk"
    end
  end
end

Я могу достичь желаемого результата с помощью обходного пути:

Vagrant.configure("2") do |config|
  config.vm.box = "bento/ubuntu-18.04"
  config.vm.provision "docker"

  config.vm.define :worker1 do |w1|
    w1.vm.hostname = "worker1"
    w1.vm.provision :shell, inline: "docker pull python"
  end

  config.vm.define :worker2 do |w2|
    w2.vm.hostname = "worker2"
    w2.vm.provision :shell, inline: "docker pull openjdk"
  end
end

Любые идеи относительно того, почему рекомендуемый поставщик Docker не работает, когда вложен, как мой второй пример?

Ubuntu 18.04; Бродяга 2.2.3

0 ответов

Возможно, это было исправлено в более новых версиях. Я работал с этим Vagrantfile:

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/bionic64"

  config.vm.define :worker1 do |w1|
    w1.vm.hostname = "worker1"
    w1.vm.provision "docker" do |w1d|
      w1d.pull_images "python"
    end
  end

  config.vm.define :worker2 do |w2|
    w2.vm.hostname = "worker2"
    w2.vm.provision "docker" do |w2d|
      w2d.pull_images "openjdk"
    end
  end
end

Хост: 16.04.6 LTS Vagrant: 2.2.6 VirtualBox: 6.1 (Примечание: для работы Vagrant 2.2.6 с новым VirtualBox 6.1 мне пришлось следовать https://blogs.oracle.com/scoter/getting-vagrant-226-working-with-virtualbox-61-ga)

Другие вопросы по тегам