Merge pull request #28723 from dattatrayakumbhar/filter-on-network-id

28722: List of containers with networkID filter is not working
This commit is contained in:
Vincent Demeester 2017-04-02 21:06:09 +02:00 committed by GitHub
commit 33aae7c5cc
2 changed files with 18 additions and 1 deletions

View file

@ -504,7 +504,7 @@ func includeContainerInList(container *container.Container, ctx *listContext) it
if nw.EndpointSettings == nil {
continue
}
if nw.NetworkID == value {
if strings.HasPrefix(nw.NetworkID, value) {
return networkExist
}
}

View file

@ -877,6 +877,23 @@ func (s *DockerSuite) TestPsListContainersFilterNetwork(c *check.C) {
containerOut = strings.TrimSpace(string(out))
c.Assert(containerOut, checker.Contains, "onbridgenetwork")
// Filter by partial network ID
partialnwID := string(nwID[0:4])
out, _ = dockerCmd(c, "ps", "--filter", "network="+partialnwID)
containerOut = strings.TrimSpace(string(out))
lines = strings.Split(containerOut, "\n")
// skip header
lines = lines[1:]
// ps output should have only one container
c.Assert(lines, checker.HasLen, 1)
// Making sure onbridgenetwork is on the output
c.Assert(containerOut, checker.Contains, "onbridgenetwork", check.Commentf("Missing the container on network\n"))
}
func (s *DockerSuite) TestPsByOrder(c *check.C) {