Jobs
Minimal Job
The below job deploys a Docker image
docs.nomad
job "docs" {
datacenters = ["dc1"]
group "docs" {
task "docs" {
driver = "docker"
config {
image = "my-docker-image:latest"
}
}
}
}
Networking
Ports
networking.nomad
job "networking" {
datacenters = ["dc1"]
group "networking" {
network {
port "ui" {
# Map to port 8000 on the host
static = 8000
# Port on the container
to = 80
}
}
task "networking" {
driver = "docker"
config {
image = "my-docker-image:latest"
ports = ["ui"]
}
}
}
}
Configuration
Application arguments
variables.nomad
job "variables" {
datacenters = ["dc1"]
group "variables" {
task "variables" {
driver = "docker"
config {
image = "my-docker-image:latest"
args = [
"-listen",
"4000"
]
}
}
}
}
Environment Variables
variables.nomad
job "variables" {
datacenters = ["dc1"]
group "variables" {
task "variables" {
driver = "docker"
config {
image = "my-docker-image:latest"
}
env {
DB_USER = "test"
}
}
}
}
Loading environment variables from .env
file
variables.nomad
job "variables" {
datacenters = ["dc1"]
group "variables" {
task "variables" {
driver = "docker"
config {
image = "my-docker-image:latest"
}
template {
data = file("./.env")
destination = "secrets/file.env"
env = true
}
}
}
}
External configuration files
variables.nomad
job "variables" {
datacenters = ["dc1"]
group "variables" {
task "variables" {
driver = "docker"
config {
image = "my-docker-image:latest"
volumes = [
"local/config.yaml:/etc/my-app/config.yaml"
]
}
template {
data = file("./config.yaml")
destination = "local/config.yaml"
}
}
}
}
Last update:
April 30, 2023
Created: April 30, 2023
Created: April 30, 2023