diff --git a/docs/reference/commandline/service_create.md b/docs/reference/commandline/service_create.md
index 36848a8241fb..c57fdac9ced5 100644
--- a/docs/reference/commandline/service_create.md
+++ b/docs/reference/commandline/service_create.md
@@ -363,16 +363,34 @@ volumes in a service:
|
The Engine mounts binds and volumes read-write unless readonly option
- is given when mounting the bind or volume.
+ is given when mounting the bind or volume. Note that setting readonly for a
+ bind-mount does not make its submounts readonly. See also bind-nonrecursive.
- true or 1 or no value: Mounts the bind or volume read-only.
- false or 0: Mounts the bind or volume read-write.
|
+
+
+#### Options for Bind Mounts
+
+The following options can only be used for bind mounts (`type=bind`):
+
+
+
+
+ Option |
+ Description |
+
+
+ bind-propagation |
+
+ See the description below.
+ |
+
consistency |
- |
The consistency requirements for the mount; one of
@@ -384,9 +402,23 @@ volumes in a service:
|
-
+
+ bind-nonrecursive |
+
+ By default, submounts are recursively bind-mounted as well. However, this behavior can be confusing when a
+ bind mount is configured with readonly option, because submounts are not mounted as read-only.
+ Set bind-nonrecursive to disable recursive bind-mount.
+
+ A value is optional:
-#### Bind Propagation
+
+ - true or 1: Disables recursive bind-mount.
+ - false or 0: Default if you do not provide a value. Enables recursive bind-mount.
+
+
+ |
+
+
Bind propagation refers to whether or not mounts created within a given
bind mount or named volume can be propagated to replicas of that mount. Consider
diff --git a/man/docker-run.1.md b/man/docker-run.1.md
index e03377001d4e..c07ef8c60f84 100644
--- a/man/docker-run.1.md
+++ b/man/docker-run.1.md
@@ -446,12 +446,13 @@ according to RFC4862.
* `src`, `source`: mount source spec for `bind` and `volume`. Mandatory for `bind`.
* `dst`, `destination`, `target`: mount destination spec.
- * `ro`, `read-only`: `true` or `false` (default).
+ * `ro`, `readonly`: `true` or `false` (default). Note that setting `readonly` for a bind mount does not make its submounts read-only. See also `bind-nonrecursive`.
Options specific to `bind`:
* `bind-propagation`: `shared`, `slave`, `private`, `rshared`, `rslave`, or `rprivate`(default). See also `mount(2)`.
* `consistency`: `consistent`(default), `cached`, or `delegated`. Currently, only effective for Docker for Mac.
+ * `bind-nonrecursive`: `true` or `false` (default). If set to `true`, submounts are not recursively bind-mounted. This option is useful for `readonly` bind mount.
Options specific to `volume`: