Nomad
volume_mount Block
| Placement | job -> group -> task -> volume_mount |
The volume_mount block allows the task to specify how a group
volume should be mounted into the task.
job "docs" {
group "example" {
volume "certs" {
type = "host"
read_only = true
source = "ca-certificates"
}
task "example" {
volume_mount {
volume = "certs"
destination = "/etc/ssl/certs"
propagation_mode = "private"
}
}
}
}
The Nomad client will make the volumes available to tasks according to this configuration, and it will fail the allocation if the client configuration updates to remove a volume that it depends on.
volume_mount Parameters
volume(string: "")- Specifies the group volume that the mount is going to access.destination(string: "")- Specifies where the volume should be mounted inside the task's allocation.read_only(bool: false)- When a group volume is writeable, you may specify that it isread_onlyon a per mount level using theread_onlyoption here.propagation_mode(string: "private")- Specifies the mount propagation mode for nested volumes. Possible values are:private- the task is not allowed to access nested mounts.host-to-task- allows new mounts that have been created outside of the task to be visible inside the task.bidirectional- allows the task to both access new mounts from the host and also create new mounts. This mode requiresReadWritepermission.Warning:
bidirectionalpropagation mode can be dangerous to use and cause problems in the host operating system if a task creates a mount but does not clean it up properly before exiting.
For examples of how to use HCL2 interpolation for fine-grained control of volumes, see Volume Interpolation.