簡體   English   中英

在 docker 中構建:/go/bin 中的意外二進制文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM