使用Go 應用程式建置Docker 映像時,遇到「找不到套件」錯誤可能是令人沮喪。讓我們深入研究這個問題並提供解決方案。
當 Dockerfile 將專案檔案複製到映像根目錄而沒有安裝依賴項或正確建置二進位檔案時,就會出現此錯誤。這種不匹配會導致系統搜尋目標位置 (/go/bin/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 將:
要進一步偵錯問題,您可以使用 docker exec 執行 ls 或任何其他命令。例如:
docker exec <image name/hash> ls
此外,您可以使用以下命令在生成的圖像中進入 shell:
docker run --rm -it <image hash/name> /bin/sh
這使您可以探索圖像並更深入地了解其結構。
以上是為什麼我的 Docker 映像找不到我的 Go 套件:「找不到套件」錯誤的解決方案的詳細內容。更多資訊請關注PHP中文網其他相關文章!