Package
Command: vagrant package [name|id]
This packages a currently running VirtualBox or Hyper-V environment into a re-usable box. This command can only be used with other providers based on the provider implementation and if the provider supports it.
Options
--base NAME
- Instead of packaging a VirtualBox machine that Vagrant manages, this will package a VirtualBox machine that VirtualBox manages.NAME
should be the name or UUID of the machine from the VirtualBox GUI. Currently this option is only available for VirtualBox. In a multi-machine environment, the UUID is required. This info can be gathered in two different waysls -l ~/VirtualBox\ VMs
orvboxmanage list vms
.--output NAME
- The resulting package will be saved asNAME
. By default, it will be saved aspackage.box
.--include x,y,z
- Additional files will be packaged with the box. These can be used by a packaged Vagrantfile (documented below) to perform additional tasks.--info path/to/info.json
- The package will include a custom JSON file containing information to be displayed by the list command when invoked with the-i
flag--vagrantfile FILE
- Packages a Vagrantfile with the box, that is loaded as part of the Vagrantfile load order when the resulting box is used.
A common misconception is that the --vagrantfile
option will package a Vagrantfile that is used when vagrant init
is used with this box. This is not the case. Instead, a Vagrantfile
is loaded and read as part of the Vagrant load process when the box is
used. For more information, read about the Vagrantfile load order.