Sample docker-ubuntu.pkr.hcl
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| packer { required_plugins { docker = { version = ">= 0.0.7" source = "github.com/hashicorp/docker" } } }
source "docker" "ubuntu" { image = "ubuntu:xenial" commit = true }
build { name = "learn-packer" sources = [ "source.docker.ubuntu" ]
provisioner "shell" { environment_vars = [ "FOO=hello world", ] inline = [ "echo Adding file to Docker Container", "echo \"FOO is $FOO\" > example.txt", ] }
provisioner "shell" { script = "scripts/script.sh" }
provisioner "shell" { inline = ["echo This provisioner runs last"] } }
|
Build
Run through the following Pack commands to build the image(s):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Initialize your Packer configuration.
$ packer init .
Format your template.
$ packer fmt .
Validate your template.
$ packer validate .
Build the image.
$ packer .
|
Verify
List all the Docker images to confirm that Packer successfully built your Docker image.