mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Merge pull request #38788 from AkihiroSuda/bind-nonrecursive-swarm
service: support --mount type=bind,bind-nonrecursive
This commit is contained in:
commit
714cba6740
3 changed files with 11 additions and 5 deletions
|
@ -78,7 +78,8 @@ func containerSpecFromGRPC(c *swarmapi.ContainerSpec) *types.ContainerSpec {
|
||||||
|
|
||||||
if m.BindOptions != nil {
|
if m.BindOptions != nil {
|
||||||
mount.BindOptions = &mounttypes.BindOptions{
|
mount.BindOptions = &mounttypes.BindOptions{
|
||||||
Propagation: mounttypes.Propagation(strings.ToLower(swarmapi.Mount_BindOptions_MountPropagation_name[int32(m.BindOptions.Propagation)])),
|
Propagation: mounttypes.Propagation(strings.ToLower(swarmapi.Mount_BindOptions_MountPropagation_name[int32(m.BindOptions.Propagation)])),
|
||||||
|
NonRecursive: m.BindOptions.NonRecursive,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -331,9 +332,11 @@ func containerToGRPC(c *types.ContainerSpec) (*swarmapi.ContainerSpec, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if m.BindOptions.NonRecursive {
|
if m.BindOptions.NonRecursive {
|
||||||
// TODO(AkihiroSuda): NonRecursive is unsupported for Swarm-mode now because of mutual vendoring
|
if mount.BindOptions == nil {
|
||||||
// across moby and swarmkit. Will be available soon after the moby PR gets merged.
|
// the propagation defaults to rprivate
|
||||||
return nil, fmt.Errorf("invalid NonRecursive: %q", m.BindOptions.Propagation)
|
mount.BindOptions = &swarmapi.Mount_BindOptions{}
|
||||||
|
}
|
||||||
|
mount.BindOptions.NonRecursive = m.BindOptions.NonRecursive
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -281,7 +281,9 @@ func convertMount(m api.Mount) enginemount.Mount {
|
||||||
}
|
}
|
||||||
|
|
||||||
if m.BindOptions != nil {
|
if m.BindOptions != nil {
|
||||||
mount.BindOptions = &enginemount.BindOptions{}
|
mount.BindOptions = &enginemount.BindOptions{
|
||||||
|
NonRecursive: m.BindOptions.NonRecursive,
|
||||||
|
}
|
||||||
switch m.BindOptions.Propagation {
|
switch m.BindOptions.Propagation {
|
||||||
case api.MountPropagationRPrivate:
|
case api.MountPropagationRPrivate:
|
||||||
mount.BindOptions.Propagation = enginemount.PropagationRPrivate
|
mount.BindOptions.Propagation = enginemount.PropagationRPrivate
|
||||||
|
|
|
@ -17,6 +17,7 @@ keywords: "API, Docker, rcli, REST, documentation"
|
||||||
|
|
||||||
[Docker Engine API v1.41](https://docs.docker.com/engine/api/v1.41/) documentation
|
[Docker Engine API v1.41](https://docs.docker.com/engine/api/v1.41/) documentation
|
||||||
|
|
||||||
|
* `POST /services/create` and `POST /services/{id}/update` now supports `BindOptions.NonRecursive`.
|
||||||
* The `ClusterStore` and `ClusterAdvertise` fields in `GET /info` are deprecated
|
* The `ClusterStore` and `ClusterAdvertise` fields in `GET /info` are deprecated
|
||||||
and are now omitted if they contain an empty value. This change is not versioned,
|
and are now omitted if they contain an empty value. This change is not versioned,
|
||||||
and affects all API versions if the daemon has this patch.
|
and affects all API versions if the daemon has this patch.
|
||||||
|
|
Loading…
Reference in a new issue