![](/img/trans.png)
[英]binary file not found on doing go build -o /bin/go_docker inside a docker file
[英]go build in docker: unexpected binary in /go/bin
根据这篇文章: go build build 是什么?
go build
构建二进制文件并将其$GOPATH/bin
在当前目录中,而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 中。 为什么??
go get
命令正在将您的软件包安装到 /go/bin 中。 如果您不想安装当前的软件包,请在下载依赖项后通过-d
停止。
-d 标志指示在下载软件包后停止; 也就是说,它指示 get 不要安装软件包。
https://golang.org/cmd/go/#hdr-Download_and_install_packages_and_dependencies
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.