Loading vagrant exported image - 加载默认的新图像
Loading vagrant exported image - loads default, fresh image
我在加载导出的图像时遇到问题。
据我所知 - 我安装了我想要的并使用命令导出
vagrant package
我在目录中有图片
E:\projektai\php projektai\htdocs
并命名为 vagrant_image_exported
我这里有 vagrant 文件:
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 up。
这是输出:
$ 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.
然后我用putty登陆vagrant,发现我没有安装什么:(
我真的不想再次安装我的程序。这就是为什么那些图像导出的原因,对吧?
所以看起来它从默认加载了一些东西,但我不知道如果我在 vagrant 文件中评论过,它是如何知道默认图像在哪里的:
#config.vm.box = "ubuntu/trusty32"
至少我应该从哪里开始搜索哪里出了问题?
更新:
问了另一个人 - 他说我应该从虚拟框中导出名称,在我的例子中是这样的:
vagrant package --base htdocs_default_1418458570729_39510
我尝试通过在 virtual box 中启动来运行此映像,看到有我安装的程序 - 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
执行并运行 vagrant up 后 - 还是一样。
最后我 运行 我导出的图像。
这是我所做的:
config.vm.box_url = "file:///e:/projektai/php projektai/htdocs/vagrant_image_exported"
注意文件后的3个斜杠。在一些例子中看到如此使用 3. 可能是因为 2 个斜杠是默认的,而第 3 个是根的意思,只有在根进入 e: ?
之后
这还不够。
我不得不 运行
vagrant destroy
我在 vagrantfile 所在的目录中完成了它。如果不这样做,即使设置了新的 config.vm.box_url,它也会加载旧图像——空的——刚从 vagrant 网站图像下载。有 .vagrant 文件夹,可能在这个文件夹中保存了一些指向旧机器的东西。可能是
之后
vagrant destroy - 此文件夹内容受到影响,它们不指向旧图像,而是使用我们在 config.vm.box_url 中设置的图像。
所以这就是我记得并相信是什么让它起作用了。如果我遗漏了什么,也许有人会添加评论或新答案。
当你设置 new url 但它被忽略时也是非常意外的行为,所以我想知道为什么 vagrant 会忽略它。至少它可以在 运行ning vagrant up 后在命令行中写一条消息,这样我们就可以理解了。
更新
发现您还需要重命名
的值
config.vm.box
在 vagrantfile 中。
我在加载导出的图像时遇到问题。
据我所知 - 我安装了我想要的并使用命令导出
vagrant package
我在目录中有图片
E:\projektai\php projektai\htdocs
并命名为 vagrant_image_exported
我这里有 vagrant 文件:
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 up。
这是输出:
$ 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.
然后我用putty登陆vagrant,发现我没有安装什么:( 我真的不想再次安装我的程序。这就是为什么那些图像导出的原因,对吧?
所以看起来它从默认加载了一些东西,但我不知道如果我在 vagrant 文件中评论过,它是如何知道默认图像在哪里的:
#config.vm.box = "ubuntu/trusty32"
至少我应该从哪里开始搜索哪里出了问题?
更新:
问了另一个人 - 他说我应该从虚拟框中导出名称,在我的例子中是这样的:
vagrant package --base htdocs_default_1418458570729_39510
我尝试通过在 virtual box 中启动来运行此映像,看到有我安装的程序 - 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
执行并运行 vagrant up 后 - 还是一样。
最后我 运行 我导出的图像。
这是我所做的:
config.vm.box_url = "file:///e:/projektai/php projektai/htdocs/vagrant_image_exported"
注意文件后的3个斜杠。在一些例子中看到如此使用 3. 可能是因为 2 个斜杠是默认的,而第 3 个是根的意思,只有在根进入 e: ?
之后这还不够。
我不得不 运行
vagrant destroy
我在 vagrantfile 所在的目录中完成了它。如果不这样做,即使设置了新的 config.vm.box_url,它也会加载旧图像——空的——刚从 vagrant 网站图像下载。有 .vagrant 文件夹,可能在这个文件夹中保存了一些指向旧机器的东西。可能是
之后vagrant destroy - 此文件夹内容受到影响,它们不指向旧图像,而是使用我们在 config.vm.box_url 中设置的图像。
所以这就是我记得并相信是什么让它起作用了。如果我遗漏了什么,也许有人会添加评论或新答案。
当你设置 new url 但它被忽略时也是非常意外的行为,所以我想知道为什么 vagrant 会忽略它。至少它可以在 运行ning vagrant up 后在命令行中写一条消息,这样我们就可以理解了。
更新
发现您还需要重命名
的值config.vm.box
在 vagrantfile 中。