Поставщик бродячей оболочки повторяется пять раз - PullRequest
1 голос
/ 21 апреля 2020

Оболочка оболочки работает пять раз, и я не могу понять, почему это происходит. Мой Vagrantfile:

Vagrant.configure("2") do |config|
  config.vm.box = "papasmurf/win2016base"
  config.vm.communicator = "winrm"
  config.winrm.username = "vagrant"
  config.winrm.password = "vagrant"
  config.winrm.timeout = 180
  config.vm.guest = :windows
  config.windows.halt_timeout = 15

  config.vm.provider "virtualbox" do |vb|
    vb.linked_clone = true
    vb.name = "DBSRV2016"
    vb.memory = "4096"
    vb.gui = false
    vb.cpus = 2

    config.vm.provision "shell" do |s|
      s.privileged = "true"
      s.inline = "echo Hello World"
    end
  end
end

Сначала встроенная команда представляла собой файл cmd, но во время изучения этой проблемы я обнаружил, что даже эхо Hello World выполняется пять раз.

Это журнал отладки: https://www.dropbox.com/s/syl8f50xldu32xr/vagrant.log?dl=1

Есть идеи, что здесь не так?

1 Ответ

0 голосов
/ 21 апреля 2020

Переместить provision блок снаружи provider:

Vagrant.configure("2") do |config|
  config.vm.box = "papasmurf/win2016base"
  config.vm.communicator = "winrm"
  config.winrm.username = "vagrant"
  config.winrm.password = "vagrant"
  config.winrm.timeout = 180
  config.vm.guest = :windows
  config.windows.halt_timeout = 15

  config.vm.provider "virtualbox" do |vb|
    vb.linked_clone = true
    vb.name = "DBSRV2016"
    vb.memory = "4096"
    vb.gui = false
    vb.cpus = 2
  end

  config.vm.provision "shell" do |s|
    s.privileged = "true"
    s.inline = "echo Hello World"
  end
end
...