Packer is a tool which automates building and provisioning of VM and Docker images.
Packer automates the creation and provisioning of images for many desktop and cloud-based virtualization environments. It also includes integrations with post-processors such as Vagrant.