The easiest way to start experimenting with Terraform is by deploying local resources in Docker. To install Docker on Mac, run brew install docker
first.
Here’s the code I used to deploy an Nginx dontainer on my Mac:
terraform {
required_providers {
docker = {
source = "kreuzwerker/docker"
version = "3.0.2"
}
}
}
provider "docker" {
host = "unix:///var/run/docker.sock"
}
resource "docker_image" "nginx" {
name = "nginx:latest"
keep_locally = false
}
resource "docker_container" "nginx" {
image = docker_image.nginx.image_id
name = "tutorial"
ports {
internal = 80
external = 8000
}
}
terraform apply
To verify, go to http://localhost:8000
to see the Nginx test page.
You can also run docker ps
to see your running containers.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2a719d839dfa 2a4fbb36e966 "/docker-entrypoint.…" 7 minutes ago Up 7 minutes 0.0.0.0:8000->80/tcp tutorial
If you are looking for an easy way to host a simple website, I recommend hosting Hugo on S3.