亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 dockerfile 中運行 go build main.go

在 dockerfile 中運行 go build main.go

Go
拉風的咖菲貓 2023-05-22 15:46:31
我正在嘗試go build hello.go在 dockerfile 中運行,因為FROM golangCOPY hello.go /go/src/hello.goRUN cd src/RUN go build hello.goRUN ./hello一切順利go build,直到命令出現以下錯誤消息:stat hello.go: no such file or directoryThe command '/bin/sh -c go build hello.go' returned a non-zero code: 1但是,如果我在 dockerfile 上注釋最后兩個命令并運行創建的圖像,我可以go build毫無問題地運行該命令。為什么會這樣?
查看完整描述

1 回答

?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

每個 RUN 命令都會啟動一個具有干凈環境和新默認工作目錄的新 shell。特別是,RUN cd ...作為一個孤立的步驟什么都不做。

如果您確實需要更改 Dockerfile 中的目錄,請將這兩個步驟合二為一,或者使用指令WORKDIR使更改更加全局化。

在 Go 存儲庫的特定情況下,由于有一個至少非常強烈鼓勵的標準目錄布局,我會使用它:

FROM golang

WORKDIR /go/src/github.com/me/myprogram

COPY . ./

RUN go install .

CMD ["/go/bin/myprogram"]

(一般來說,Go 處理整個目錄或相關文件的“包”,而不一定是單個.go文件。)


查看完整回答
反對 回復 2023-05-22
  • 1 回答
  • 0 關注
  • 262 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號