Packer Example - Ubuntu 16.04 minimal Vagrant Box using Ansible provisioner
Clone or download

Packer Example - Ubuntu 16.04 minimal Vagrant Box

Current Ubuntu Version Used: 16.04.5

Pre-built Vagrant Box:

This example build configuration installs and configures Ubuntu 16.04 x86_64 minimal using Ansible, and then generates a Vagrant box file for VirtualBox.

The example can be modified to use more Ansible roles, plays, and included playbooks to fully configure (or partially) configure a box file suitable for deployment for development environments.


The following software must be installed/present on your local machine before you can use Packer to build the Vagrant box file:


Make sure all the required software (listed above) is installed, then cd to the directory containing this file, and run:

$ packer build -var 'version=1.2.0' ubuntu1604.json

After a few minutes, Packer should tell you the box was generated successfully, and the box was uploaded to Vagrant Cloud.

Note: This configuration includes a post-processor that pushes the built box to Vagrant Cloud (which requires a VAGRANT_CLOUD_TOKEN environment variable to be set); remove the vagrant-cloud post-processor from the Packer template to build the box locally and not push it to Vagrant Cloud. You don't need to specify a version variable either, if not using the vagrant-cloud post-processor.

Testing built boxes

There's an included Vagrantfile that allows quick testing of the built Vagrant boxes. From this same directory, run the following command after building the box:

$ vagrant up


MIT license.

Author Information

Created in 2016 by Jeff Geerling, author of Ansible for DevOps.