1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Merge pull request #13535 from coolljt0725/fix_automatically_publish_without_publish

Fix automatically publish ports without --publish-all or --publish
This commit is contained in:
Brian Goff 2015-05-28 11:49:53 -04:00
commit a364dd8fc6
2 changed files with 15 additions and 2 deletions

View file

@ -3186,3 +3186,14 @@ func (s *DockerSuite) TestRunUnshareProc(c *check.C) {
c.Fatalf("unshare should have failed with permission denied, got: %s, %v", out, err)
}
}
func (s *DockerSuite) TestRunPublishPort(c *check.C) {
out, _, err := runCommandWithOutput(exec.Command(dockerBinary, "run", "-d", "--name", "test", "--expose", "8080", "busybox", "top"))
c.Assert(err, check.IsNil)
out, _, err = runCommandWithOutput(exec.Command(dockerBinary, "port", "test"))
c.Assert(err, check.IsNil)
out = strings.Trim(out, "\r\n")
if out != "" {
c.Fatalf("run without --publish-all should not publish port, out should be nil, but got: %s", out)
}
}

View file

@ -60,10 +60,10 @@ func SortPortMap(ports []Port, bindings PortMap) {
for _, b := range binding {
s = append(s, portMapEntry{port: p, binding: b})
}
bindings[p] = []PortBinding{}
} else {
s = append(s, portMapEntry{port: p})
}
bindings[p] = []PortBinding{}
}
sort.Sort(s)
@ -79,7 +79,9 @@ func SortPortMap(ports []Port, bindings PortMap) {
i++
}
// reorder bindings for this port
bindings[entry.port] = append(bindings[entry.port], entry.binding)
if _, ok := bindings[entry.port]; ok {
bindings[entry.port] = append(bindings[entry.port], entry.binding)
}
}
}