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" ...