Согласно этому сообщению: Что идет в build build?
go build
собирает двоичный файл и оставляет его в текущем каталоге, тогда как go install
перемещает двоичный файл в $GOPATH/bin
.
Так работает на моей машине.Однако у меня есть Dockerfile:
FROM golang:latest
ADD . /go/src/myapp
WORKDIR /go/src/myapp
RUN go get .
RUN go build
RUN ls /go/bin # shows myapp!!
ENTRYPOINT ["/go/bin/myapp"] #works!!
Здесь не должно быть никакой разницы.Ожидаемый результат состоял в том, что /go/bin
был пуст, а двоичный файл myapp
был бы /go/src/myapp/myapp
Вместо этого я вижу, что сборка работает как установка, и двоичный файл отображается в / go / bin.Почему ??