Pārlūkot izejas kodu

Merge pull request #9583 from brahmaroutu/remove_container_9569

Error should be 409 as the container is different state to remove
Alexander Morozov 10 gadi atpakaļ
vecāks
revīzija
1e2d0d17d9
2 mainītis faili ar 19 papildinājumiem un 1 dzēšanām
  1. 1 1
      daemon/delete.go
  2. 18 0
      integration-cli/docker_cli_rm_test.go

+ 1 - 1
daemon/delete.go

@@ -55,7 +55,7 @@ func (daemon *Daemon) ContainerRm(job *engine.Job) engine.Status {
 					return job.Errorf("Could not kill running container, cannot remove - %v", err)
 				}
 			} else {
-				return job.Errorf("You cannot remove a running container. Stop the container before attempting removal or use -f")
+				return job.Errorf("Conflict, You cannot remove a running container. Stop the container before attempting removal or use -f")
 			}
 		}
 		if err := daemon.Destroy(container); err != nil {

+ 18 - 0
integration-cli/docker_cli_rm_test.go

@@ -57,6 +57,24 @@ func TestRmRunningContainer(t *testing.T) {
 	logDone("rm - running container")
 }
 
+func TestRmRunningContainerCheckError409(t *testing.T) {
+	createRunningContainer(t, "foo")
+
+	endpoint := "/containers/foo"
+	_, err := sockRequest("DELETE", endpoint, nil)
+
+	if err == nil {
+		t.Fatalf("Expected error, can't rm a running container")
+	}
+	if !strings.Contains(err.Error(), "409 Conflict") {
+		t.Fatalf("Expected error to contain '409 Conflict' but found", err)
+	}
+
+	deleteAllContainers()
+
+	logDone("rm - running container")
+}
+
 func TestRmForceRemoveRunningContainer(t *testing.T) {
 	createRunningContainer(t, "foo")