Вчера я бился головой об стену в течение полдня, пока не понял, что использую старую версию Virtualbox (5.0.x) и Vagrant (1.8.0).
Обновлен до VirtualBox 5.1.x и Vagrant 1.8.7 и получил лучшие результаты
В основном, ubuntu/xenial32
и ubuntu/xenial64
изображения имеют недостатки, поскольку они не поставляются с vagrant
пользователем из коробки.
Это противоречит спецификации Vagrant
Я закончил тем, что использовал v0rtex/xenial64
как рекомендованный в этом сообщении об ошибке . Не уверен, почему canonical
это не исправить
Мой бродячий файл выглядит следующим образом
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "v0rtex/xenial64"
config.vm.network :private_network, ip: "10.10.10.10"
config.ssh.username = 'vagrant'
config.ssh.password = 'vagrant'
config.vm.provider :virtualbox do |vb|
vb.name = "supercool"
vb.customize ["modifyvm", :id, "--memory", "768"]
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
end
end
Если вы все еще хотите использовать canonical
предоставленные изображения, это возможно, используя следующий подход
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.network :private_network, ip: "10.10.10.10"
config.ssh.insert_key = true
config.ssh.forward_agent = true
config.vm.provider :virtualbox do |vb|
vb.name = "supercool"
vb.customize ["modifyvm", :id, "--memory", "768"]
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
end
end
Если вы сделаете это, /vagrant
папка будет принадлежать ubuntu:ubuntu
вместо vagrant:vagrant
. Если у вас есть сценарии, полагающиеся на то, что vagrant
пользователь будет там, они сломаются