소스 검색

Merge pull request #28909 from Microsoft/jjh/moreworkdir2

WORKDIR set cmd
Doug Davis 8 년 전
부모
커밋
1ef10c83c7
1개의 변경된 파일11개의 추가작업 그리고 0개의 파일을 삭제
  1. 11 0
      builder/dockerfile/dispatchers.go

+ 11 - 0
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