Преглед изворни кода

Merge pull request #41161 from thaJeztah/fix_volumes_from_status

Brian Goff пре 5 година
родитељ
комит
b0a8e75c6e
2 измењених фајлова са 17 додато и 2 уклоњено
  1. 2 2
      daemon/volumes.go
  2. 15 0
      integration/container/create_test.go

+ 2 - 2
daemon/volumes.go

@@ -95,12 +95,12 @@ func (daemon *Daemon) registerMountPoints(container *container.Container, hostCo
 	for _, v := range hostConfig.VolumesFrom {
 	for _, v := range hostConfig.VolumesFrom {
 		containerID, mode, err := parser.ParseVolumesFrom(v)
 		containerID, mode, err := parser.ParseVolumesFrom(v)
 		if err != nil {
 		if err != nil {
-			return err
+			return errdefs.InvalidParameter(err)
 		}
 		}
 
 
 		c, err := daemon.GetContainer(containerID)
 		c, err := daemon.GetContainer(containerID)
 		if err != nil {
 		if err != nil {
-			return err
+			return errdefs.InvalidParameter(err)
 		}
 		}
 
 
 		for _, m := range c.MountPoints {
 		for _, m := range c.MountPoints {

+ 15 - 0
integration/container/create_test.go

@@ -621,3 +621,18 @@ func TestCreateDifferentPlatform(t *testing.T) {
 		assert.Assert(t, client.IsErrNotFound(err), err)
 		assert.Assert(t, client.IsErrNotFound(err), err)
 	})
 	})
 }
 }
+
+func TestCreateVolumesFromNonExistingContainer(t *testing.T) {
+	defer setupTest(t)()
+	cli := testEnv.APIClient()
+
+	_, err := cli.ContainerCreate(
+		context.Background(),
+		&container.Config{Image: "busybox"},
+		&container.HostConfig{VolumesFrom: []string{"nosuchcontainer"}},
+		nil,
+		nil,
+		"",
+	)
+	assert.Check(t, errdefs.IsInvalidParameter(err))
+}