![](/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.