From a40ae77529a2bfcd258453509ddcea8393eca185 Mon Sep 17 00:00:00 2001 From: John Howard Date: Mon, 28 Nov 2016 15:44:10 -0800 Subject: [PATCH] WORKDIR set cmd Signed-off-by: John Howard (cherry picked from commit 1b97bb416b8e2d4cd77544a1d714026b25d73c2f) Signed-off-by: Victor Vieux --- builder/dockerfile/dispatchers.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/builder/dockerfile/dispatchers.go b/builder/dockerfile/dispatchers.go index 93598882f6..64f0341d40 100644 --- a/builder/dockerfile/dispatchers.go +++ b/builder/dockerfile/dispatchers.go @@ -290,6 +290,17 @@ func workdir(b *Builder, args []string, attributes map[string]bool, original str return nil } b.runConfig.Image = b.image + + cmd := b.runConfig.Cmd + b.runConfig.Cmd = strslice.StrSlice(append(getShell(b.runConfig), fmt.Sprintf("#(nop) WORKDIR %s", b.runConfig.WorkingDir))) + defer func(cmd strslice.StrSlice) { b.runConfig.Cmd = cmd }(cmd) + + if hit, err := b.probeCache(); err != nil { + return err + } else if hit { + return nil + } + container, err := b.docker.ContainerCreate(types.ContainerCreateConfig{Config: b.runConfig}, true) if err != nil { return err