gpt4 book ai didi

docker - Go install 在 Dockerfile 中找不到我的内部包

转载 作者:IT王子 更新时间:2023-10-29 02:20:37 27 4
gpt4 key购买 nike

所以我正在尝试对我的项目进行 Dockerize,如下所示:

project/
main.go
package1/
package2/
package3/

而且还需要一些外部包比如github.com/gorilla/mux请注意,我的项目在 github.company.com 域的内部,所以我不确定这是否重要。这是我的 Dockerfile,是的,我的 GOPATH 和 GOROOT 已设置,请不要只告诉我阅读 https://golang.org/doc/code.html .我曾经遇到过并且现在仍然遇到这个问题。

### STAGE 1: Build ###

FROM golang:1.10 as builder
WORKDIR /go/src/github.company.com/project-repo/project
COPY . .
RUN go get
RUN go install <- ERROR HERE
RUN CGO_ENABLED=0 go build -ldflags="-s -w" -o executable -a -installsuffix cgo .

### STAGE 2: Setup ###

FROM python:3.6-alpine
COPY --from=builder /go/src/github.company.com/project-repo/project/executable /api/executable
CMD ["/api/executable"]

然后我运行:

docker build -t myapp .

并得到这个错误:

main.go: cannot find package github.company.com/project-repo/project/package1 in any of:
/usr/local/go/src/github.company.com/project-repo/project/package1 (from $GOROOT)
/go/src/github.company.com/project-repo/project/package1 (from $GOPATH)

请记住这些路径是正确的。为什么不能去安装它自己的包?? Main.go 导入 package1,但出于某些原因,“go install”不会在其内部安装包。

最佳答案

哇,golang 对路径真的很挑剔!只是我将工作目录分配到了错误的位置。树中还有另一个文件:

WORKDIR /go/src/github.company.com/COMPANY/project-repo/project

关于docker - Go install 在 Dockerfile 中找不到我的内部包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51411655/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com