加载vagrant导出的图像 - 加载默认的新图像

时间:2015-01-01 13:22:24

标签: vagrant

我在加载导出的图片时遇到问题。

据我记得 - 我安装了我想要的东西并使用命令

导出
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

执行并运行流浪汉后 - 仍然是相同的。

1 个答案:

答案 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中。