diff --git a/builder/evaluator.go b/builder/evaluator.go index 6bcd2194c2..bc4e2b5bd3 100644 --- a/builder/evaluator.go +++ b/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 { diff --git a/integration-cli/docker_cli_build_test.go b/integration-cli/docker_cli_build_test.go index 1ecaeb8e1f..fa5faeb91f 100644 --- a/integration-cli/docker_cli_build_test.go +++ b/integration-cli/docker_cli_build_test.go @@ -2126,3 +2126,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") +}