devapp, cmd/gitmirror: remove unnecessary duplication in Dockerfile

And fix gitmirror's build due to missing internal/foreach.

Change-Id: I1a69b7f6680a7cc69947746dad2e5d4627a3122f
Reviewed-on: https://go-review.googlesource.com/c/build/+/194341
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
diff --git a/cmd/gitmirror/Dockerfile b/cmd/gitmirror/Dockerfile
index 6725ae8..d95561a 100644
--- a/cmd/gitmirror/Dockerfile
+++ b/cmd/gitmirror/Dockerfile
@@ -23,6 +23,7 @@
 RUN go install golang.org/x/build/gerrit
 COPY buildenv /go/src/golang.org/x/build/buildenv
 RUN go install golang.org/x/build/buildenv
+COPY internal/foreach /go/src/golang.org/x/build/internal/foreach
 COPY maintner /go/src/golang.org/x/build/maintner
 COPY cmd/pubsubhelper /go/src/golang.org/x/build/cmd/pubsubhelper
 RUN go install golang.org/x/build/maintner/maintnerd/apipb
@@ -31,7 +32,6 @@
 COPY . /go/src/golang.org/x/build/
 WORKDIR /go/src/golang.org/x/build/
 
-COPY . /go/src/golang.org/x/build/
 RUN go install golang.org/x/build/cmd/gitmirror
 
 FROM debian:buster
diff --git a/devapp/Dockerfile b/devapp/Dockerfile
index 0180ee0..ad37803 100644
--- a/devapp/Dockerfile
+++ b/devapp/Dockerfile
@@ -16,7 +16,7 @@
 WORKDIR /go/src/golang.org/x/build
 
 # Optimization for iterative docker build speed, not necessary for correctness:
-# TODO: write a tool to make writing Go module-friendly Dockerfiles easier.
+# TODO: write a tool to make writing Go module-friendly Dockerfiles easier (golang.org/issue/34192)
 RUN go install cloud.google.com/go/storage
 RUN go install golang.org/x/net/http2
 RUN go install golang.org/x/crypto/acme/autocert
@@ -29,14 +29,9 @@
 RUN go install golang.org/x/build/maintner/godata
 
 COPY . /go/src/golang.org/x/build/
-
 # Install binary to /go/bin:
 RUN go install golang.org/x/build/devapp
 
-COPY . /go/src/golang.org/x/build/
-
-RUN go install golang.org/x/build/devapp
-
 FROM debian:stretch
 
 # netbase and ca-certificates are needed for dialing TLS.