重新打包的Vagrant(vbox)框将不会在后续导入后允许ssh

我遇到以下情况。

如果我下载并运行一个基本的软件包(ubuntu / trusty64),请进行一些修改,比如安装软件包,然后closures并重新打包,随后导入时无法连接。

不是暂时的等待连接错误,这永远挂起:

 default: SSH address: 127.0.0.1:2200 default: SSH username: vagrant default: SSH auth method: private key default: Warning: Connection timeout. Retrying... default: Warning: Remote connection disconnect. Retrying... 

工作stream程是:

 vagrant box add ubuntu/trusty64 vagrant init # change config.vm.box in Vagrantfile to ubuntu/trusty64 vagrant up vagrant ssh -c "sudo apt-get -y install git" vagrant halt vagrant package --output some-box.box vagrant destroy vagrant box add --name some-box ./some-box.box # change config.vm.box in Vagrantfile to some-box vagrant up 

…这是行不通的。

我怀疑这与VirtualBoxnetworking和一些映射或价值,我需要捕获或重置封装之前,但我不知道是什么。

我有这个问题。 对我来说,原来的盒子版本被设置为“Ubuntu(32位)”。 在Settings / General下通过VirtualBox GUI将其更改为“Ubuntu(64位)”。 这似乎是盒子图像的错误configuration。

如果不是这种情况,启动启用GUI的盒子或通过VirtualBox接口是debugging挂起的最佳方法。 例如,它也可能是等待input的引导装载程序。

我偶然发现了与ubuntu/trusty64相同的问题。 我find的解决scheme是build立你的eth1卡如下:

使用以下内容在/etc/network/interfaces.d/eth1.cfg创build文件。

 auto eth1 iface eth1 inet dhcp 

我想我有同样的确切问题。 我设法发现,你的问题实际上是相关的vagrant package不出口一些ubuntu “特殊/相关”的Vagrantfile即将与默认的Ubuntu的盒子。

你可以在这里看到这个文件: ~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-xenial64/20170116.1.0/virtualbox/Vagrantfile (调整到你自己的path)将包含额外的信息,你的对应的Vagrantfile将不会。

我试图通过vagrant package --vagrantfile Vagrantfile_ubuntu包含这个文件vagrant package --vagrantfile Vagrantfile_ubuntu没有运气:/。 我不知道如何解决这个问题,我相信cloud-init也是一个混乱的地方。

你有没有设法find一些东西?