asteris-llc/converge

View on GitHub
samples/docker.hcl

Summary

Maintainability
Test Coverage
/* docker resources are currently not supported on solaris */
param "image" {
  default = "nginx"
}

param "image-tag" {
  default = "1.10-alpine"
}

param "container" {
  default = "nginx-server"
}

docker.image "nginx" {
  name               = "{{param `image`}}"
  tag                = "{{param `image-tag`}}"
  inactivity_timeout = "60s"
}

docker.volume "nginx-content" {
  name = "nginx-html"
}

docker.network "nginx-network" {
  name  = "nginx-network"
  state = "present"
  force = true
}

docker.container "nginx" {
  name  = "{{param `container`}}"
  image = "{{lookup `docker.image.nginx.Name`}}:{{lookup `docker.image.nginx.Tag`}}"
  force = true

  expose = [
    "80",
    "443/tcp",
    "8080",
  ]

  publish_all_ports = false

  ports = [
    "80",
  ]

  volumes = [
    "{{lookup `docker.volume.nginx-content.name`}}:/usr/share/nginx/html",
  ]

  env {
    "FOO" = "BAR"
  }

  networks = ["{{lookup `docker.network.nginx-network.name`}}"]

  dns = ["8.8.8.8", "8.8.4.4"]
}