1 回答

TA貢獻1872條經驗 獲得超4個贊
GOPATH無關緊要;它用于“解析 import 語句”,在運行可執行文件時不起任何作用(除非您的代碼專門引用它!這就是問題所在。WORKDIR
從“清除由先前指令創建的任何狀態”。這包括 .例如,如果您使用 docker 文件:WORKDIR
FROM alpine:3.12
WORKDIR /test
copy 1.txt .
FROM alpine:3.12
copy 2.txt .
最終生成的圖像將在根文件夾(而不是文件夾)中包含文件。2.txt/test
在您的中,您正在將文件夾復制到假設將設置;但事實并非如此(默認為 )。最簡單的解決方法是更改為 。dockerfilemedia/go/src/github.com/kiketordera/advanced-performance/media/WORKDIR/COPY --from=builder /go/src/github.com/kiketordera/advanced-performance/media/ /go/src/github.com/kiketordera/advanced-performance/media/COPY --from=builder /go/src/github.com/kiketordera/advanced-performance/media/ /media/
您還從根文件夾訪問文件,因此需要將這些文件復制到(或類似文件夾中)。鑒于您正在執行此操作,最好將所有內容(exe,html文件和媒體文件夾)放入一個文件夾(例如)中,以保持根文件夾的清潔。COPY --from=builder /go/src/github.com/kiketordera/advanced-performance/*.html //app
注意:無需在第二張圖像中設置;如上所述,運行可執行文件時它不相關。我建議使用模塊(對GOPATH的支持可能會在1.17中刪除);這也將使您大大縮短路徑!GOPATH
- 1 回答
- 0 關注
- 111 瀏覽
添加回答
舉報