Browse code

WORKDIR set cmd

Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit 1b97bb416b8e2d4cd77544a1d714026b25d73c2f)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>

John Howard authored on 2016/11/29 08:44:10
Showing 1 changed files
... ...
@@ -290,6 +290,17 @@ func workdir(b *Builder, args []string, attributes map[string]bool, original str
290 290
 		return nil
291 291
 	}
292 292
 	b.runConfig.Image = b.image
293
+
294
+	cmd := b.runConfig.Cmd
295
+	b.runConfig.Cmd = strslice.StrSlice(append(getShell(b.runConfig), fmt.Sprintf("#(nop) WORKDIR %s", b.runConfig.WorkingDir)))
296
+	defer func(cmd strslice.StrSlice) { b.runConfig.Cmd = cmd }(cmd)
297
+
298
+	if hit, err := b.probeCache(); err != nil {
299
+		return err
300
+	} else if hit {
301
+		return nil
302
+	}
303
+
293 304
 	container, err := b.docker.ContainerCreate(types.ContainerCreateConfig{Config: b.runConfig}, true)
294 305
 	if err != nil {
295 306
 		return err