73 lines
2.3 KiB
Plaintext
73 lines
2.3 KiB
Plaintext
---
|
|
layout: docs
|
|
page_title: volume_mount Block - Job Specification
|
|
description: |-
|
|
The "volume_mount" block allows the task to specify where a group "volume"
|
|
should be mounted.
|
|
---
|
|
|
|
# `volume_mount` Block
|
|
|
|
<Placement groups={['job', 'group', 'task', 'volume_mount']} />
|
|
|
|
The `volume_mount` block allows the task to specify how a group
|
|
[`volume`][volume] should be mounted into the task.
|
|
|
|
```hcl
|
|
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 is `read_only` on a per mount level using the `read_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 requires `ReadWrite` 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].
|
|
|
|
[volume]: /nomad/docs/job-specification/volume 'Nomad volume Job Specification'
|
|
[volume interpolation]: /nomad/docs/job-specification/volume#volume-interpolation
|
|
[hcl2]: /nomad/docs/job-specification/hcl2
|