今天我打算使用 vagrant 将最新的 Ubuntu 版本放入我的虚拟盒子中。加载镜像并运行后vagrant up
,出现如下报错,与虚拟盒子的网络配置有关。
有趣的是,网上已经有一些帖子(主要在 GitHub 上,例如:https ://github.com/mitchellh/vagrant/issues/7155 ),还有在 AskUbuntu 上(https://askubuntu.com/questions/760871/network -settings-fail-for-ubuntu-xenial64-vagrant-box),StackOverflow(vagrant up 命令给出错误并且 eth1 没有显示可解析的 IP 地址)和 StackExchange(https://unix.stackexchange.com/questions/188413/not -able-to-resolve-ip-address-for-eth1-in-vagrant-vm)。然而,这些问题与xenial64
(即不 bento
)或使用public_network
配置有关。
正如https://askubuntu.com/questions/760871/network-settings-fail-for-ubuntu-xenial64-vagrant-boxubuntu/trusty64
中所报告的,这个问题对于or不存在ubuntu/wily64
,但似乎对于ubuntu/xenial64
and来说都是一个问题bento/ubuntu-16.04
(即两个 Ubuntu 16 盒子)。
正如您将在下面看到的Vagrantfile
那样,我有一个简单的设置bento/ubuntu-16.04
并仅供使用private_network
。需要明确的是,我不能真正使用这篇文章(vagrant up 命令给出错误并且 eth1 没有显示可解析的 IP 地址),因为它建议注释掉public_network
vagrant 配置的一部分。另外,我应该提到在发生此错误时没有其他 VM 正在运行。
从错误日志中可以明显看出 netowrk 接口存在问题eth1
,但我不清楚究竟是什么问题。我之前已经成功启动了相同的vagrant配置和相同的Oracle VB的hashicorp/precise32
和ubuntu/trusty64
Ubuntu盒子,并且没有遇到这个问题。
任何帮助表示赞赏。下面列出了我的技术设置和参考文件。
干杯 AHL
设置:
- 流浪者:v1.8.1
- Oracle VirtualBox:v5.0.16 r105871
- Ubuntu 盒子:bento/ubuntu-16.04 ( https://atlas.hashicorp.com/bento/boxes/ubuntu-16.04 )
- 主机:联想X1 Carbon,Windows 10
流浪文件:
Vagrant.configure(2) do |config|
config.vm.box = "bento/ubuntu-16.04"
config.vm.network "private_network", ip: "192.168.33.10"
end
输出:
C:\Users\AHL\workspace>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'bento/ubuntu-16.04' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: hostonly
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
==> default: Machine booted and ready!
GuestAdditions 5.0.16 running --- OK.
==> default: Checking for guest additions in VM...
==> default: Configuring and enabling network interfaces...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
/sbin/ifdown eth1 2> /dev/null
Stdout from the command:
Stderr from the command:
mesg: ttyname failed: Inappropriate ioctl for device
C:\Users\AHL\workspace>