Is there any way to clone a vagrant box that is already installed

Mateusgf picture Mateusgf · Sep 30, 2013 · Viewed 36.4k times · Source

I must have the same VM in other computers but I don't want to download the whole box, php mysql, etc...

I have a box already configured the way it should be and I want to run this VM in others computers.

When the user run "vagrant up" the machine should start without downloading nothing.

Does anybody have a solution for that?

Answer

Terry Wang picture Terry Wang · Sep 30, 2013

The easiest thing to do would be to package the pre-configured vagrant box and transfer the .box file to the other machine, add the box and run vagrant up.

So the steps look like below:

  1. Package the pre-configured box => vagrant package --base preconfigured_vm --output /path/to/mybox.box. Note that as per the docs, the --base option should be the UUID of the machine, or the name VirtualBox gives the machine (found when opening the VirtualBox application).
  2. transfer the box to the computer by using scp, rsync or whatever... (you also start a web server quickly by using python -m http.server PORT or ruby -run -e httpd /path/to -p PORT)
  3. Init and start vagrant init preconfigured_vm /path/to/mybox.box
  4. Done