job "mysql-server" { datacenters = ["dc1"] type = "service" group "mysql-server" { count = 1 restart { attempts = 10 interval = "5m" delay = "25s" mode = "delay" } network { mode = "bridge" port "db" { host_network = "loopback" to = 3306 } } volume "mysql-data" { type = "host" read_only = false source = "mysql-data" } service { name = "mysql-server" port = "db" connect { sidecar_service { proxy { local_service_port = 3306 } } sidecar_task { resources { cpu = 50 memory = 50 } } } # Can't use a tcp check with bridge network or proxy # check { # type = "tcp" # interval = "10s" # timeout = "2s" # } } task "mysql-server" { driver = "docker" volume_mount { volume = "mysql-data" destination = "/var/lib/mysql" read_only = false } env = { "MYSQL_ROOT_PASSWORD" = "supersecretpassword" # Allow connections from any host "MYSQL_ROOT_HOST" = "%" } config { image = "mysql:8" ports = ["db"] } resources { cpu = 300 memory = 1024 } } } }