Terraform — Infrastructure as Code (Hello World in OSX)

Ben Cheng
Developer Notes
Published in
May 17, 2024

Install Terraform in OSX

brew install hashicorp/tap/terraform

make.tf

terraform {                                // terraform setting
required_providers { // specified required providers
docker = {
source = "kreuzwerker/docker"
version = "~> 3.0.1"
}
}
}

provider "docker" {} // plugin to manage resource

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 init
terraform apply

Advantage

  • Multi-Cloud Support
  • Human Readable Configuration
  • State Management

Local State Management

after you run terraform apply , it would generate a terraform.tfstate file in the same folder.

for remote state, it can be stored in azure blob, aws s3.

--

--

Ben Cheng
Developer Notes

A developer in Hong Kong. Learning and rethinking as a developer. Welcome to contact me and make friend with me. Cooperation is welcome.