浏览代码

Merge pull request #16403 from runcom/fix-containers-json-emtpy-response

Fix GET /containers/json emtpy response regression
Alexandre Beslic 9 年之前
父节点
当前提交
96f9efc063
共有 2 个文件被更改,包括 12 次插入1 次删除
  1. 1 1
      daemon/list.go
  2. 11 0
      integration-cli/docker_api_containers_test.go

+ 1 - 1
daemon/list.go

@@ -84,7 +84,7 @@ func (daemon *Daemon) Containers(config *ContainersConfig) ([]*types.Container,
 
 // reduceContainer parses the user filtering and generates the list of containers to return based on a reducer.
 func (daemon *Daemon) reduceContainers(config *ContainersConfig, reducer containerReducer) ([]*types.Container, error) {
-	var containers []*types.Container
+	containers := []*types.Container{}
 
 	ctx, err := daemon.foldFilter(config)
 	if err != nil {

+ 11 - 0
integration-cli/docker_api_containers_test.go

@@ -1514,3 +1514,14 @@ func (s *DockerSuite) TestPutContainerArchiveErrSymlinkInVolumeToReadOnlyRootfs(
 		c.Fatalf("expected ErrContainerRootfsReadonly error, but got %d: %s", statusCode, string(body))
 	}
 }
+
+func (s *DockerSuite) TestContainersApiGetContainersJSONEmpty(c *check.C) {
+	testRequires(c, DaemonIsLinux)
+
+	status, body, err := sockRequest("GET", "/containers/json?all=1", nil)
+	c.Assert(err, check.IsNil)
+	c.Assert(status, check.Equals, http.StatusOK)
+	if string(body) != "[]\n" {
+		c.Fatalf("Expected empty response to be `[]`, got %q", string(body))
+	}
+}