Я пытаюсь управлять набором виртуальных машин с помощью vagrantfile, и, хотя он успешно инициализирует первый, он завершается сбоем на втором с следующей ошибкой (имя пользователя удалено):
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["import", "\\\\?\\C:\\Users\\{user}\\.vagrant.d\\boxes\\geerlingguy-VAGRANTSLASH-ubuntu1604\\1.2.5\\virtualbox\\box.ovf", "--vsys", "0", "--vmname", "packer-ubuntu-16.04-amd64_1551457217364_16812", "--vsys", "0", "--unit", "10", "--disk", "./packer-ubuntu-16.04-amd64-disk001.vmdk"]
Stderr: 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Interpreting \\?\C:\Users\{user}\.vagrant.d\boxes\geerlingguy-VAGRANTSLASH-ubuntu1604\1.2.5\virtualbox\box.ovf...
OK.
0%...
Progress state: E_INVALIDARG
VBoxManage.exe: error: Appliance import failed
VBoxManage.exe: error: Code E_INVALIDARG (0x80070057) - One or more arguments are invalid (extended info not available)
VBoxManage.exe: error: Context: "enum RTEXITCODE __cdecl handleImportAppliance(struct HandlerArg *)" at line 957 of file VBoxManageAppliance.cpp
Есть ли проблема с попыткой раскрутить несколько ящиков из одного базового ящика? Я некоторое время гуглял по этой проблеме, но ничего не нашел в своем конкретном сообщении об ошибке.
Мой бродячий файл:
Vagrant.configure("2") do |config|
hosts = {
"webserver" => "52201",
"webserver-service" => "52202",
"dbserver" => "52203",
"lb" => "52204"
}
hosts.each do |hostname, port|
config.vm.define hostname do |node|
node.vm.box = "geerlingguy/ubuntu1604"
node.vm.hostname = hostname
node.vm.network "private_network", type: "dhcp"
node.vm.network "forwarded_port", guest: 22, host: port, id: "ssh"
node.vm.provider "virtualbox"
node.vm.provision "shell", inline: "apt-get install -y acl"
end
end
end
Я использую vagrant через WSL, но это не проблема в конфигурации с одной виртуальной машиной, поэтому я не могу понять, почему это будет проблемой.