main.tf (904B)
terraform {
required_version = ">= 1.5.0"
required_providers {
docker = {
source = "kreuzwerker/docker"
version = "~> 3.0"
}
local = {
source = "hashicorp/local"
version = "~> 2.0"
}
}
}
variable "target_ip" { type = string }
variable "docker_image" { type = string }
provider "docker" {
host = "ssh://root@${var.target_ip}"
}
resource "docker_network" "lab" {
name = "tf-mariadb-lab-net"
}
resource "docker_container" "server" {
for_each = local.servers
name = each.key
image = "${var.docker_image}"
hostname = each.key
env = [
"MARIADB_PORT=${each.value.port}",
"MARIADB_SERVER_ID=${each.value.server_id}",
]
ports {
internal = each.value.port
external = each.value.port
}
networks_advanced {
name = docker_network.lab.name
}
labels {
label = "deployed_by"
value = "terraform"
}
}