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:
commit
a364dd8fc6
2 changed files with 15 additions and 2 deletions
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue