Packer – Image Builder

HashiCorp Packer is a tool for creating identical machine images for multiple platforms from a...

DevOps Tools Linux Open Source
Download

HashiCorp Packer is a tool for creating identical machine images for multiple platforms from a single source configuration. It enables infrastructure-as-code for image creation.

Key Features

  • Multi-Platform: AWS, Azure, GCP, VMware, Docker
  • Parallel Builds: Create multiple images simultaneously
  • Provisioners: Shell, Ansible, Chef, Puppet
  • Post-Processors: Upload, compress, tag images
  • HCL2: Modern configuration syntax

Installation

Install Packer:

wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install packer

Usage Examples

Packer template (aws.pkr.hcl):

source "amazon-ebs" "ubuntu" {
  ami_name      = "ubuntu-server"
  instance_type = "t2.micro"
  region        = "us-west-2"
  source_ami_filter {
    filters = {
      name = "ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*"
    }
    owners = ["099720109477"]
  }
  ssh_username = "ubuntu"
}

build {
  sources = ["source.amazon-ebs.ubuntu"]
  provisioner "shell" {
    inline = ["sudo apt update", "sudo apt install -y nginx"]
  }
}

Benefits

Packer ensures consistent images across environments. Automated image building reduces configuration drift and deployment failures.

Download Packer

Was this article helpful?