49 lines
1.2 KiB
HCL
49 lines
1.2 KiB
HCL
variable "ssh_host" {}
|
|
variable "ssh_user" {}
|
|
variable "ssh_key" {}
|
|
resource "null_resource" "ssh_target" {
|
|
connection {
|
|
type = "ssh"
|
|
user = var.ssh_user
|
|
host = var.ssh_host
|
|
private_key = file(var.ssh_key)
|
|
}
|
|
provisioner "remote-exec" {
|
|
inline = [
|
|
"sudo apt update -qq >/dev/null",
|
|
"curl -fsSL https://get.docker.com -o get-docker.sh",
|
|
"sudo chmod 755 get-docker.sh",
|
|
"sudo ./get-docker.sh >/dev/null"
|
|
]
|
|
}
|
|
provisioner "file" {
|
|
source = "startup-options.conf"
|
|
destination = "/tmp/startup-options.conf"
|
|
}
|
|
provisioner "remote-exec" {
|
|
inline = [
|
|
"sudo mkdir -p /etc/systemd/system/docker.service.d/",
|
|
"sudo cp /tmp/startup-options.conf /etc/systemd/system/docker.service.d/startup_options.conf",
|
|
"sudo systemctl daemon-reload",
|
|
"sudo systemctl restart docker",
|
|
"sudo usermod -aG docker vagrant"
|
|
]
|
|
}
|
|
}
|
|
|
|
provider "docker" {
|
|
host = "tcp://${var.ssh_host}:2375"
|
|
}
|
|
|
|
resource "docker_image" "nginx" {
|
|
name = "nginx:latest"
|
|
}
|
|
resource "docker_container" "nginx" {
|
|
image = docker_image.nginx.latest
|
|
name = "enginecks"
|
|
ports {
|
|
internal = 80
|
|
external = 80
|
|
}
|
|
}
|