Uderzyłem się wczoraj głową o ścianę przez pół dnia, dopóki nie zorientowałem się, że korzystam ze starej wersji Virtualbox (5.0.x) i Vagrant (1.8.0)
Zaktualizowano do VirtualBox 5.1.x i Vagrant 1.8.7 i uzyskał lepsze wyniki
Zasadniczo obrazy ubuntu/xenial32
i ubuntu/xenial64
są wadliwe, ponieważ nie pochodzą od vagrant
użytkownika po wyjęciu z pudełka.
Jest to niezgodne ze specyfikacjami Vagrant
Skończyłem używać v0rtex/xenial64
zgodnie z zaleceniami w tym raporcie o błędzie . Nie jestem pewien, dlaczego canonical
to nie naprawia
Mój błędny plik jest następujący
# -*- 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
Jeśli nadal chcesz korzystać z canonical
dostarczonych obrazów, możesz zastosować następujące podejście
# -*- 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
Jeśli to zrobisz, /vagrant
folder będzie własnością ubuntu:ubuntu
zamiast vagrant:vagrant
. Jeśli masz skrypty polegające na tym, że vagrant
użytkownik tam jest, one się zepsują