我正在尝试构建我的 Golang 应用程序的 Dockerfile,其中包括 delve 调试器 - 我想在 Docker 容器中调试我的 Golang 应用程序。
当我尝试构建我的 Docker 时,我总是出现以下错误:
Step 5/9 : RUN go build -gcflags "all=-N -l" -o ./feedme
---> Running in a0579ec8a85c
go: go.mod file not found in current directory or any parent directory; see 'go help modules'
命令 go build 在我的本地文件夹上运行良好(请参阅下面的树命令)
go build -gcflags "all=-N -l" -o ./feedme
这是我的文件夹结构和文件:
tree
.
├── Dockerfile
├── Makefile
├── docker-compose.yml
└── parsedata-xml-fp.go
0 directories, 4 files
单个应用程序文件 parsedata-xml-fp.go(我将忽略它,因为我认为错误与它无关)
我的文件:
FROM golang:1.17 AS build
WORKDIR /
COPY . .
RUN go install github.com/go-delve/delve/cmd/dlv@latest
RUN go build -gcflags "all=-N -l" -o ./feedme
EXPOSE 8000 2345
COPY --from=build /go/bin/dlv /dlv
COPY --from=build /feedme /feedme
CMD ["/dlv", "--listen=:2345", "--headless=true", "--api-version=2", "--accept-multiclient", "exec", "/feedme"]
知道为什么会发生此错误,我该如何解决?我搜索了它并尝试设置一些环境变量:
1) RUN GO111MODULE=off/on
2) RUN CGO_ENABLED=0
好像它们都不起作用
慕婉清6462132
相关分类