Я ударил головой о стену на полдня вчера, пока не понял, что запускаю старую версию Virtualbox (5.0.x) и Vagrant (1.8.0)
Обновлен до VirtualBox 5.1. x и Vagrant 1.8.7 и получили лучшие результаты
В основном изображения ubuntu/xenial32 и ubuntu/xenial64 ошибочны, поскольку они не поставляются с пользователем 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, чтобы они были там, они сломали