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中文网其他相关文章!