準備
docker
$ docker -v
Docker version 24.0.5, build ced0996
$ terraform -v
Terraform v1.5.6
on linux_amd64
手順
tfファイルを作成
$ cat main.tf
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" {
name = "test"
image = docker_image.nginx.image_id
ports {
internal = 80
external = 8000
}
}
実行
# Terraform初期化
$ terraform init
# プランの確認
$ terraform plan
# 実行
$ terraform apply
$ netstat -lntp | grep 8000
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN