Docker 建置問題:找不到Go 套件
嘗試使用Go 應用程式建置Docker 映像,您可能會遇到錯誤「can 't load package: package myapp: Cannot find package"。
問題背景
您的 Dockerfile 指示建置程序將所有檔案複製到映像根目錄,然後建置並從 /go/bin/myapp 執行 myapp 二進位檔案。但是,這種方法會導致錯誤,因為在該目錄中找不到二進位檔案。
解決方案
相反,請修改您的Dockerfile,如下所示:
FROM golang:1.9.2 ADD . /go/src/myapp WORKDIR /go/src/myapp RUN go get myapp RUN go install ENTRYPOINT ["/go/bin/myapp"]
更新後的Dockerfile 將執行以下步驟:
其他故障排除
如果需要,您可以在每個 ADD 指令之後使用 docker exec
要更詳細地檢查映像,請使用 docker run --rm -it
以上是為什麼我的 Docker 映像找不到我的 Go 套件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!