Day 62 - Terraform and Docker 🔥
2 min read

(install terraform: https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli)
Blocks and Resources in Terraform
Task-01
- Create a Terraform script with Blocks and Resources
terraform {
required_providers {
docker = {
source = "kreuzwerker/docker"
version = "~> 2.21.0"
}
}
}

Provider Block
The provider block configures the specified provider, in this case, docker. A provider is a plugin that Terraform uses to create and manage your resources.
provider "docker" {}
Resource
Resource blocks are used to define components of your infrastructure. A resource might be a physical or virtual component such as a Docker container, or it can be a logical resource such as a Heroku application.
Resource blocks have two strings before the block: the resource type and the resource name. In this example, the first resource type is docker_image and the name is Nginx.

Task-02
- Create a resource Block for an nginx docker image
Hint:
resource "docker_image" "nginx" {
name = "nginx:latest"
keep_locally = false
}
- Create a resource Block for running a docker container for Nginx
resource "docker_container" "nginx" {
image = docker_image.nginx.latest
name = "tutorial"
ports {
internal = 80
external = 80
}
}



Note: In case Docker is not installed
sudo apt-get install
docker.io
sudo docker ps
sudo chown $USER /var/run/docker.sock
Happy learning!!