How it works...

Let's break this down a bit, starting with Terraform.

In this section, we defined what we wanted our infrastructure to look like by writing the configuration to a main.tf file:

provider "docker" {  host = "unix:///var/run/docker.sock"}resource "docker_image" "example-image" {  name = "nginx"}resource "docker_container" "example-container" {  name = "nginx-example"  image = "${docker_image.example-image.latest}"}

Specifically, what we're doing here is giving Terraform its provider and the necessary information to connect with said provider (in this case, a Unix socket):

provider "docker" {  host = "unix:///var/run/docker.sock"}

We're then informing Terraform of the image we want to use as the base of our container:

resource "docker_image" ...

Get Linux Administration Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.