在 Oracle VirtualBox 5.0.16 r105871 上,bento/ubuntu-16.04 的 vagrant up 失败
vagrant up fails for bento/ubuntu-16.04 on Oracle VirtualBox 5.0.16 r105871
今天我打算使用 vagrant 将最新的 Ubuntu 版本放入我的虚拟盒子中。加载图片和运行 vagrant up
后,出现如下报错,与virtual box的网络配置有关。
有趣的是,已经有一些post在线(主要是在GitHub上,例如:https://github.com/mitchellh/vagrant/issues/7155), but also on AskUbuntu (https://askubuntu.com/questions/760871/network-settings-fail-for-ubuntu-xenial64-vagrant-box), Whosebug () and 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-box 中所述,ubuntu/trusty64
或 ubuntu/wily64
不存在此问题,但 ubuntu/xenial64
和 bento/ubuntu-16.04
似乎都是问题](即 Ubuntu 16 盒)。
正如您将在下面的 Vagrantfile
中看到的那样,我对 bento/ubuntu-16.04
进行了简单设置并且仅使用 private_network
。明确地说,我不能真正使用这个 post (),因为它建议注释掉 vagrant 配置的 public_network
部分。另外,我应该提到在发生此错误时没有其他 VM 运行。
从错误日志中可以明显看出网络接口有问题 eth1
,但我不清楚问题到底是什么。我之前已经成功启动了hashicorp/precise32
和ubuntu/trusty64
Ubuntu盒子,相同的vagrant配置和相同的OracleVB并没有遇到这个问题。
感谢任何帮助。下面列出了我的技术设置和参考文件。
干杯
AHL
设置:
- Vagrant: v1.8.1
- Oracle VirtualBox:v5.0.16 r105871
- Ubuntu 框:bento/ubuntu-16.04 (https://atlas.hashicorp.com/bento/boxes/ubuntu-16.04)
- 主机:Lenovo X1 Carbon,Windows10
流浪文件:
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>
我认为在您的列表中,您需要添加 https://github.com/mitchellh/vagrant/issues/6871
问题仍然存在 - 一些用户报告说他们可以解决问题 (https://github.com/mitchellh/vagrant/issues/6871#issuecomment-223290622 or https://github.com/mitchellh/vagrant/issues/6871#issuecomment-222348226)
如果您可以使用打包机自己构建您的盒子,则网络问题已得到一些修复。
我遇到了问题,发现由于某种原因,虚拟盒子没有将虚拟电缆连接到网络接口。
我通过添加解决了
vb.customize ["modifyvm", :id, "--cableconnected1", "on"]
到我的 config.vm.provider "virtualbox" do |vb|
循环,例如在我的情况下我想要 1GB RAM、USB3 和连接的网络电缆:
config.vm.provider "virtualbox" do |vb|
vb.memory = "1024"
vb.customize ["modifyvm", :id, "--usbxhci", "on"] # Connect USB3 disk
vb.customize ["modifyvm", :id, "--cableconnected1", "on"]
end
我用过的任何其他框中都不需要此 --cableconnected1
行,仅在 config.vm.box = "bento/ubuntu-16.04"
.
中
也许你需要检查一下 vagrant up
是否没有连接你的任何电缆,我还有一个额外的网络,eth0
是无线的,eth1
是有线的。
检查您的具体情况。也许你必须玩选项后面的数字。
希望对您有所帮助!
今天我打算使用 vagrant 将最新的 Ubuntu 版本放入我的虚拟盒子中。加载图片和运行 vagrant up
后,出现如下报错,与virtual box的网络配置有关。
有趣的是,已经有一些post在线(主要是在GitHub上,例如:https://github.com/mitchellh/vagrant/issues/7155), but also on AskUbuntu (https://askubuntu.com/questions/760871/network-settings-fail-for-ubuntu-xenial64-vagrant-box), Whosebug (xenial64
(即 而非 bento
)或使用 public_network
配置有关。
如 https://askubuntu.com/questions/760871/network-settings-fail-for-ubuntu-xenial64-vagrant-box 中所述,ubuntu/trusty64
或 ubuntu/wily64
不存在此问题,但 ubuntu/xenial64
和 bento/ubuntu-16.04
似乎都是问题](即 Ubuntu 16 盒)。
正如您将在下面的 Vagrantfile
中看到的那样,我对 bento/ubuntu-16.04
进行了简单设置并且仅使用 private_network
。明确地说,我不能真正使用这个 post (public_network
部分。另外,我应该提到在发生此错误时没有其他 VM 运行。
从错误日志中可以明显看出网络接口有问题 eth1
,但我不清楚问题到底是什么。我之前已经成功启动了hashicorp/precise32
和ubuntu/trusty64
Ubuntu盒子,相同的vagrant配置和相同的OracleVB并没有遇到这个问题。
感谢任何帮助。下面列出了我的技术设置和参考文件。
干杯 AHL
设置:
- Vagrant: v1.8.1
- Oracle VirtualBox:v5.0.16 r105871
- Ubuntu 框:bento/ubuntu-16.04 (https://atlas.hashicorp.com/bento/boxes/ubuntu-16.04)
- 主机:Lenovo X1 Carbon,Windows10
流浪文件:
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>
我认为在您的列表中,您需要添加 https://github.com/mitchellh/vagrant/issues/6871
问题仍然存在 - 一些用户报告说他们可以解决问题 (https://github.com/mitchellh/vagrant/issues/6871#issuecomment-223290622 or https://github.com/mitchellh/vagrant/issues/6871#issuecomment-222348226)
如果您可以使用打包机自己构建您的盒子,则网络问题已得到一些修复。
我遇到了问题,发现由于某种原因,虚拟盒子没有将虚拟电缆连接到网络接口。
我通过添加解决了
vb.customize ["modifyvm", :id, "--cableconnected1", "on"]
到我的 config.vm.provider "virtualbox" do |vb|
循环,例如在我的情况下我想要 1GB RAM、USB3 和连接的网络电缆:
config.vm.provider "virtualbox" do |vb|
vb.memory = "1024"
vb.customize ["modifyvm", :id, "--usbxhci", "on"] # Connect USB3 disk
vb.customize ["modifyvm", :id, "--cableconnected1", "on"]
end
我用过的任何其他框中都不需要此 --cableconnected1
行,仅在 config.vm.box = "bento/ubuntu-16.04"
.
也许你需要检查一下 vagrant up
是否没有连接你的任何电缆,我还有一个额外的网络,eth0
是无线的,eth1
是有线的。
检查您的具体情况。也许你必须玩选项后面的数字。
希望对您有所帮助!