Hi,
I would like to mount a shell script into a container. The mount itself is functional, but for some reason it’s not executable.
My task configuration looks like this:
task "traefik" {
driver = "docker"
config {
image = "traefik:[[.traefik.version]]"
ports = ["http", "https", "admin", "dns"]
args = [...]
network_mode = "host"
volumes = [
"traefik-data:/data",
"secrets/powerdns.sh:/powerdns.sh"
]
}
template {
data = <<EOH
[...]
EOH
destination = "secrets/powerdns.sh"
perms = "755"
}
When trying to execute the script, I receive a permission denied error:
/ # ./powerdns.sh
ash: ./powerdns.sh: Permission denied
Copying the file and executing it afterwards works without any problems:
/ # ls -l powerdns.sh powerdns2.sh
-rwxr-xr-x 1 root root 807 Nov 14 21:08 powerdns.sh
-rwxr-xr-x 1 root root 807 Nov 14 21:14 powerdns2.sh
The copy (powerdns2.sh
) is executable without errors.
Is there something wrong with the mount or is my approach completely wrong?
I couldn’t find any hints about it in the docker/nomad documentation/similar problems anywhere else.