Перейти к содержимому

Скопируйте бродячую коробку локально

26

У меня есть виртуальный ящик, работающий на VirtualBox, и мне нужно сделать копию (со всеми существующими настройками и данными), чтобы я мог вносить в нее изменения, не затрагивая оригинал.

Проблема в том, что моя оригинальная коробка пришла в виде файлового пакета - интернет-соединение, с которым я работаю, очень медленное, поэтому кто-то еще скопировал свои папки vagrant и virtualbox на мою машину. Таким образом, нет

config.vm.box_url 

использовать.

Как я могу сделать это?

Изменить: я использую Vagrant 1.2.2

22 801 просмотр
xiankai спросил 12 лет назад
X 313

1 ответ

39
Принятый ответ

Create a new box from your existing vm:

  • cd into the directory with your Vagrant file

  • run vagrant package This will export a box file called package.box by default

  • run vagrant box add foo package.box to add package.box to your existing boxes. (Assuming you are using VirtualBox and not VMWare)

  • run vagrant box list to verify it was added.

Now you can just create a new folder, run vagrant init as normal and set your box to the following:

 config.vm.box = "foo" 

The new VM will spin up with the exact data that was present in the previous VM.

Vagrant Documentation


Additionally checkout a new product from the creators of Vagrant called Packer. It will do this same thing, but allow you to copy your vm's to other providers (Amazon, VirtualBox ect..)

Update

Newer versions of Vagrant have two commands that make the above steps unnecessary.

vagrant share vagrant package 

Vagrant share will upload your box to atlas
Vagrant package will create a .box file automatically.

For more information, type in vagrant --help

Похоже, отличный способ, но, к сожалению, я использую другую версию vagrant, в то время как ваши команды, похоже, для 1.0.x

xiankai · 12 лет назад · 0

@xiankai Я использую 1.2.2 и проверил, что эти шаги работают для меня. Я внес несколько изменений в свой ответ для ясности, еще раз попробую и дайте мне знать, какие ошибки вы получаете.

spuder · 12 лет назад · 0

Ах, после просмотра ссылки, которую вы разместили, я попробовал vagrant package вместо vagrant box package, и кажется, что я сейчас на правильном пути!

xiankai · 12 лет назад · 0

Бродячая упаковка верна. Это была опечатка с моей стороны.

spuder · 12 лет назад · 0
spuder ответил 12 лет назад
S 7 250