HashiCorp Packer

By Elle Krout

Learn about Packer's core components, how to write portable buildfiles, and how to improve parity between existing environments.

10 hours
  • 48 Lessons
  • 20 Hands-On Labs

About the course

HashiCorp Packer is a lightweight, open source tool for building automating machine images across multiple platforms, including AWS, Azure, and GCP, as well as popular virtualization or quasi-virtualization platforms such as Docker and VirtualBox. In this course, we explore the core components of a Packer build, such as builders and communicators, learn how to leverage these components to write portable buildfiles that work with the infrastructure we’re already using, such as the platform and provisioning toolchains, and improve parity between our existing environments.

  • Chapter 1 1 Lesson Welcome! 1:54

    About the Course

    1:54
  • Chapter 2 3 Lessons Packer 13:17

    What Is Packer?

    3:38

    Why Use Packer?

    4:03

    Packer Breakdown

    5:36
  • Chapter 3 4 Lessons Template Languages 1:15:04

    JSON

    6:26

    Formatting a Packer Template in JSON

    30:00 Hands-On Lab

    HCL2

    8:38

    Formatting a Packer Template in HCL2

    30:00 Hands-On Lab
  • Chapter 4 4 Lessons Installation 23:19

    Linux Installation (Cloud Playground)

    5:23

    Mac Installation

    3:55

    Windows Installation

    4:01

    Setting Up Packer

    10:00 Hands-On Lab
  • Chapter 5 3 Lessons Environment 27:07

    Environment Configurations

    4:30

    Packer Plugins

    7:37

    Adding Packer Plugins

    15:00 Hands-On Lab
  • Chapter 6 4 Lessons Building a Base Template 58:16

    Builders

    16:54

    Communicators

    3:43

    Building the Image

    7:39

    Using Packer to Create an AWS AMI

    30:00 Hands-On Lab
  • Chapter 7 12 Lessons Provisioning 3:16:11

    Bash

    8:42

    Provisioning a Packer Image with Bash

    15:00 Hands-On Lab

    File

    12:46

    Adding Files to a Packer Build

    15:00 Hands-On Lab

    Ansible

    14:34

    Provisioning a Packer Image with Ansible

    15:00 Hands-On Lab

    Chef

    12:26

    Provisioning a Packer Image with `chef-client`

    15:00 Hands-On Lab

    Puppet

    16:44

    Provisioning a Packer Image with Puppet Server

    30:00 Hands-On Lab

    Salt

    10:59

    Provisioning a Packer Image with Masterless Salt

    30:00 Hands-On Lab
  • Chapter 8 2 Lessons Post-Processors 21:48

    Post-Processors

    6:48

    Using the Docker Post-Processors with Packer

    15:00 Hands-On Lab
  • Chapter 9 4 Lessons Extending the Template 1:24:02

    Parallel Builds

    12:56

    Creating Dev and Production Images with Packer in Parallel

    30:00 Hands-On Lab

    HCL "Building Blocks"

    11:06

    Using HCL with Packer

    30:00 Hands-On Lab
  • Chapter 10 3 Lessons Debugging 45:16

    The `-debug` Flag

    8:23

    The Breakpoint Provisioner

    6:53

    Debugging a Packer Build

    30:00 Hands-On Lab
  • Chapter 11 3 Lessons Cloud 1:30:00

    Packer and AWS

    30:00 Hands-On Lab

    Packer and Azure

    30:00 Hands-On Lab

    Packer and GCP

    30:00 Hands-On Lab
  • Chapter 12 2 Lessons Containers 1:00:00

    Building a Docker Image with Packer

    30:00 Hands-On Lab

    Building a LXD Image with Packer

    30:00 Hands-On Lab
  • Chapter 13 2 Lessons Virtualization 23:22

    Building a VirtualBox Image with Packer

    17:11

    Building a Vagrant Box with Packer

    6:11
  • Chapter 14 1 Lesson What's Next? 1:08

    Next Steps

    1:08

What you will need

  • Linux Knowledge

  • Cloud Knowledge

  • Configuration Management Knowledge

What are Hands-on Labs

What's the difference between theoretical knowledge and real skills? Practical real-world experience. That's where Hands-on Labs come in! Hands-on Labs are guided, interactive experiences that help you learn and practice real-world scenarios in real cloud environments. Hands-on Labs are seamlessly integrated in courses, so you can learn by doing.

Get Started
Who’s going to be learning?
Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!