dispatchers: warn user if try to use EXPOSE ip:hostPort:containerPort

We could use EXPOSE ip:hostPort:containerPort,
but actually it did as EXPOSE ::containerPort

commit 2275c833 already warned user on daemon side.
This patch will print warning message on client side.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
Upstream-commit: 26e85b0db1b896e98071f121fb14b2c6d905ed4f
Component: engine
This commit is contained in:
Chen Hanxiao
2015-03-04 21:09:50 -05:00
parent cc537ac671
commit bac4428faa
2 changed files with 36 additions and 1 deletions
@@ -2343,6 +2343,33 @@ func TestBuildExposeUpperCaseProto(t *testing.T) {
logDone("build - expose port with upper case proto")
}
func TestBuildExposeHostPort(t *testing.T) {
// start building docker file with ip:hostPort:containerPort
name := "testbuildexpose"
expected := "map[5678/tcp:map[]]"
defer deleteImages(name)
_, out, err := buildImageWithOut(name,
`FROM scratch
EXPOSE 192.168.1.2:2375:5678`,
true)
if err != nil {
t.Fatal(err)
}
if !strings.Contains(out, "to map host ports to container ports (ip:hostPort:containerPort) is deprecated.") {
t.Fatal("Missing warning message")
}
res, err := inspectField(name, "Config.ExposedPorts")
if err != nil {
t.Fatal(err)
}
if res != expected {
t.Fatalf("Exposed ports %s, expected %s", res, expected)
}
logDone("build - ignore exposing host's port")
}
func TestBuildEmptyEntrypointInheritance(t *testing.T) {
name := "testbuildentrypointinheritance"
name2 := "testbuildentrypointinheritance2"