我在加载导出的图片时遇到问题。
据我记得 - 我安装了我想要的东西并使用命令
导出vagrant package
我在目录
中有图片E:\projektai\php projektai\htdocs
并命名为vagrant_image_exported
我在这里有流浪文件:
E:\other\dropbox\Dropbox\programavimas\kodo pavyzdziai\htdocs
以下是我设置如何在vagrant文件中加载我的文件:
config.vm.box = "vagrant_image_exported"
config.vm.box_url = "file://e:/projektai/php projektai/htdocs/vagrant_image_exported"
我和cygwin一起去了vagrantfile目录并运行vagrant。
这是输出:
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> 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: Forwarding ports...
default: 80 => 8080 (adapter 1)
default: 3306 => 3307 (adapter 1)
default: 22 => 2222 (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: Warning: Connection timeout. Retrying...
default: Warning: Connection timeout. Retrying...
default: Warning: Remote connection disconnect. Retrying...
default: Warning: Remote connection disconnect. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
default: The guest additions on this VM do not match the installed version o f
default: VirtualBox! In most cases this is fine, but in rare cases it can
default: prevent things such as shared folders from working properly. If you see
default: shared folder errors, please make sure the guest additions within t he
default: virtual machine match the version of VirtualBox you have installed on
default: your host and reload your VM.
default:
default: Guest Additions Version: 4.3.10
default: VirtualBox Version: 4.1
==> default: Mounting shared folders...
default: /vagrant => E:/other/dropbox/Dropbox/programavimas/kodo pavyzdziai/ htdocs
==> default: Machine already provisioned. Run `vagrant provision` or use the `-- provision`
==> default: to force provisioning. Provisioners marked to run always will still run.
然后我用腻子登录到流浪汉,看到我没有安装任何东西:( 我真的不想再安装我的程序。这就是为什么那些图像输出,对吧?
所以它看起来它从默认加载了一些东西,但我不知道它如何知道默认图像在哪里如果我在流浪文件中注释:
#config.vm.box = "ubuntu/trusty32"
至少我应该开始搜索出错了什么?
更新
问另一个人 - 他说我应该从虚拟框中输出名字,在我的情况下:
vagrant package --base htdocs_default_1418458570729_39510
我尝试通过在虚拟框中启动运行此图像,并看到我安装的程序 - php,mysql。
我再次创建包并用putty登录后,再也没有php了。
还尝试了完成本文中的步骤:
http://abhishek-tiwari.com/hacking/creating-a-new-vagrant-base-box-from-an-existing-vm
注意到我可能没有执行此操作:
vagrant box add package package.box
执行并运行流浪汉后 - 仍然是相同的。
答案 0 :(得分:0)
最后我运行导出的图像。
这就是我所做的:
config.vm.box_url = "file:///e:/projektai/php projektai/htdocs/vagrant_image_exported"
注意文件后的3个斜杠。在一些例子中看到如此使用3.可能是因为2个斜杠是默认的,而第3个是root意义,只有在root之后:?
这还不够。
我必须跑
vagrant destroy
我在vagrantfile所在的目录中完成了。如果不这样做,即使设置了新的config.vm.box_url,它也会加载旧图像 - 一个空的 - 只是从流浪网站图像下载。有.vagrant文件夹,可能是在这个文件夹中保存了指向旧机器的东西。
之后可能就是这样vagrant destroy - 此文件夹内容受到影响,它们不指向旧图像,而是使用我们在config.vm.box_url中设置的内容。
这就是我记得的东西,并相信是什么让它发挥作用。如果我错过了某些内容,那么也许会有人添加评论或新答案。
当你设置新的网址但它被忽略时,这是非常意想不到的行为,所以我想知道为什么流浪汉会忽略它。至少它可以在运行vagrant后在命令行中写一条消息,所以我们可以理解。
<强>更新强>
发现您还需要重命名
的值config.vm.box
在vagrantfile中。