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?
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:
- 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).
- 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
)
- Init and start
vagrant init preconfigured_vm /path/to/mybox.box
- Done
You just have to download the VM box only one time and make the all changes and configurations that you need and then re-package this one on a new box called "myVM.box".
Then you comment in the Vagrantfile the following line
#config.vm.box_url = "https://site_of_boxes..."
and used
config.vm.box = "myVM"
It starts up without download any VM.