One of the primary benefits of using Packer to build your images is it can create multiple images in parallel, allowing you to use the same baseline to provision things such as both development and production images. In this lab, we’ll take a Packer template set to create a web instance and add the ability to provision a Docker image.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Add the Docker Builder
- Open the provided
packer.json
file. - Add the Docker builder to specification.
- Save and exit.
- Open the provided
- Refactor the Provisioners
- Since we start Apache in the builder section of the Docker build, we need to remove that part of the provided script, then add it again so it runs only on the Amazon EBS builder. Let’s first open the script.
- Remove the
systemctl
commands. - Add them as an inline shell provisioner, solely for the AWS builder.
- Test the Build
- Update the AWS access key and subnet information.
- Save and exit the file.
- Test the build.