From 62b6528cbbb31b4c4dad2f1dc3264e5c5fef8259 Mon Sep 17 00:00:00 2001 From: Erik Hollensbe Date: Mon, 22 Sep 2014 23:10:05 -0700 Subject: [PATCH 1/2] builder: Appropriately initialize the Cmd in runconfig. Docker-DCO-1.1-Signed-off-by: Erik Hollensbe (github: erikh) Upstream-commit: 1e93639aed80588e70e65a850b7c7843d381d3dd Component: engine --- components/engine/builder/evaluator.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/engine/builder/evaluator.go b/components/engine/builder/evaluator.go index 6bcd2194c2..bc4e2b5bd3 100644 --- a/components/engine/builder/evaluator.go +++ b/components/engine/builder/evaluator.go @@ -150,7 +150,7 @@ func (b *Builder) Run(context io.Reader) (string, error) { b.dockerfile = ast // some initializations that would not have been supplied by the caller. - b.Config = &runconfig.Config{Entrypoint: []string{}, Cmd: []string{"/bin/sh", "-c"}} + b.Config = &runconfig.Config{Entrypoint: []string{}, Cmd: nil} b.TmpContainers = map[string]struct{}{} for i, n := range b.dockerfile.Children { From ef9cb160c975503476c458c88a2e2e3c74029924 Mon Sep 17 00:00:00 2001 From: Erik Hollensbe Date: Mon, 22 Sep 2014 23:18:46 -0700 Subject: [PATCH 2/2] builder: integration-cli test for the previous commit. Docker-DCO-1.1-Signed-off-by: Erik Hollensbe (github: erikh) Upstream-commit: d1613e1d59d0a1e29feafe0537d12675dee24f39 Component: engine --- .../integration-cli/docker_cli_build_test.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/components/engine/integration-cli/docker_cli_build_test.go b/components/engine/integration-cli/docker_cli_build_test.go index 95424b69cc..4a315d64b6 100644 --- a/components/engine/integration-cli/docker_cli_build_test.go +++ b/components/engine/integration-cli/docker_cli_build_test.go @@ -2092,3 +2092,19 @@ func TestBuildClearCmd(t *testing.T) { } logDone("build - clearcmd") } + +func TestBuildEmptyCmd(t *testing.T) { + name := "testbuildemptycmd" + defer deleteImages(name) + if _, err := buildImage(name, "FROM scratch\nMAINTAINER quux\n", true); err != nil { + t.Fatal(err) + } + res, err := inspectFieldJSON(name, "Config.Cmd") + if err != nil { + t.Fatal(err) + } + if res != "null" { + t.Fatalf("Cmd %s, expected %s", res, "null") + } + logDone("build - empty cmd") +}