Fix volumes-from mount references.
Signed-off-by: David Calavera <david.calavera@gmail.com>
This commit is contained in:
parent
42eb82ae92
commit
3d029c3bf3
|
@ -191,11 +191,16 @@ func (daemon *Daemon) registerMountPoints(container *Container, hostConfig *runc
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, m := range c.MountPoints {
|
for _, m := range c.MountPoints {
|
||||||
cp := m
|
cp := &mountPoint{
|
||||||
cp.RW = m.RW && mode != "ro"
|
Name: m.Name,
|
||||||
|
Source: m.Source,
|
||||||
|
RW: m.RW && mode != "ro",
|
||||||
|
Driver: m.Driver,
|
||||||
|
Destination: m.Destination,
|
||||||
|
}
|
||||||
|
|
||||||
if len(m.Source) == 0 {
|
if len(cp.Source) == 0 {
|
||||||
v, err := createVolume(m.Name, m.Driver)
|
v, err := createVolume(cp.Name, cp.Driver)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
@ -3233,3 +3233,21 @@ func (s *DockerSuite) TestRunCapAddCHOWN(c *check.C) {
|
||||||
c.Fatalf("expected output ok received %s", actual)
|
c.Fatalf("expected output ok received %s", actual)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://github.com/docker/docker/pull/14498
|
||||||
|
func (s *DockerSuite) TestVolumeFromMixedRWOptions(c *check.C) {
|
||||||
|
dockerCmd(c, "run", "--name", "parent", "-v", "/test", "busybox", "true")
|
||||||
|
dockerCmd(c, "run", "--volumes-from", "parent:ro", "--name", "test-volumes-1", "busybox", "true")
|
||||||
|
dockerCmd(c, "run", "--volumes-from", "parent:rw", "--name", "test-volumes-2", "busybox", "true")
|
||||||
|
|
||||||
|
testRO, err := inspectFieldMap("test-volumes-1", ".VolumesRW", "/test")
|
||||||
|
c.Assert(err, check.IsNil)
|
||||||
|
if testRO != "false" {
|
||||||
|
c.Fatalf("Expected RO volume was RW")
|
||||||
|
}
|
||||||
|
testRW, err := inspectFieldMap("test-volumes-2", ".VolumesRW", "/test")
|
||||||
|
c.Assert(err, check.IsNil)
|
||||||
|
if testRW != "true" {
|
||||||
|
c.Fatalf("Expected RW volume was RO")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue