website/content/docs/cli/package.mdx
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
[!IMPORTANT]
Documentation Update: Product documentation previously located in/websitehas moved to thehashicorp/web-unified-docsrepository, where all product documentation is now centralized. Please make contributions directly toweb-unified-docs, since changes to/websitein this repository will not appear on developer.hashicorp.com. ⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
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.
--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 ways ls -l ~/VirtualBox\ VMs or vboxmanage list vms.
--output NAME - The resulting package will be saved as NAME. By default,
it will be saved as package.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.