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_only
on a per mount level using theread_only
option 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 requiresReadWrite
permission.Warning:
bidirectional
propagation 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.