diff --git a/daemon/cluster/convert/container.go b/daemon/cluster/convert/container.go index 7888ad832c..2db29b6744 100644 --- a/daemon/cluster/convert/container.go +++ b/daemon/cluster/convert/container.go @@ -81,8 +81,11 @@ func containerSpecFromGRPC(c *swarmapi.ContainerSpec) *types.ContainerSpec { if m.BindOptions != nil { mount.BindOptions = &mounttypes.BindOptions{ - Propagation: mounttypes.Propagation(strings.ToLower(swarmapi.Mount_BindOptions_MountPropagation_name[int32(m.BindOptions.Propagation)])), - NonRecursive: m.BindOptions.NonRecursive, + Propagation: mounttypes.Propagation(strings.ToLower(swarmapi.Mount_BindOptions_MountPropagation_name[int32(m.BindOptions.Propagation)])), + NonRecursive: m.BindOptions.NonRecursive, + CreateMountpoint: m.BindOptions.CreateMountpoint, + ReadOnlyNonRecursive: m.BindOptions.ReadOnlyNonRecursive, + ReadOnlyForceRecursive: m.BindOptions.ReadOnlyForceRecursive, } } diff --git a/daemon/cluster/executor/container/container.go b/daemon/cluster/executor/container/container.go index a4d341ef78..ac49aeb130 100644 --- a/daemon/cluster/executor/container/container.go +++ b/daemon/cluster/executor/container/container.go @@ -314,7 +314,10 @@ func convertMount(m api.Mount) enginemount.Mount { if m.BindOptions != nil { mount.BindOptions = &enginemount.BindOptions{ - NonRecursive: m.BindOptions.NonRecursive, + NonRecursive: m.BindOptions.NonRecursive, + CreateMountpoint: m.BindOptions.CreateMountpoint, + ReadOnlyNonRecursive: m.BindOptions.ReadOnlyNonRecursive, + ReadOnlyForceRecursive: m.BindOptions.ReadOnlyForceRecursive, } switch m.BindOptions.Propagation { case api.MountPropagationRPrivate: