【发布时间】:2021-12-23 13:31:21
【问题描述】:
我有一个非常简单的项目——一个具有以下目录结构的 Go API
├── Dockerfile
├── go.mod
├── go.sum
├── main.go
└── user
├── repository.go
└── user.go
我的 Dockerfile 看起来像这样
FROM golang:1.17-alpine
WORKDIR /app
COPY go.mod ./
COPY go.sum ./
RUN go mod download
COPY *.go ./
RUN go build -o /api
CMD [ "/api" ]
我不断收到此错误:
[7/7] 运行 go build -o /api: #11 0.462 main.go:4:2: 包 api/user 不在 GOROOT (/usr/local/go/src/api/user)
读了一点之后,看起来我可能需要设置一个 github 存储库并从 git 中提取代码?我认为这真的很疯狂,因为代码就在 Docker 映像中。
如何在不设置像 github.com/alex/someproject 这样的 git repo 的情况下构建/Dockerize 这个 Go 项目?因为我不想将其发布到 github 上而询问 - 这在本地应该很简单。
【问题讨论】: