我在容器中的应用程序试图打开一个csv文件os.Open("file.csv"),但是它无法在我的项目根目录中找到csv文件,它没有被复制到.
我的项目设置好了,这里是我的项目的根
Dockerfile
health-check/ # This is where the code for my app is, inside this folder
file.csv # File that app needs to open is in the root directory. 这是我的Dockerfile
# syntax=docker/dockerfile:1
##
## Build
##
FROM golang:1.18-buster AS build
WORKDIR /app
COPY health-check/ .
RUN go mod download
RUN go build -o /health-check-ping
##
## Deploy
##
FROM gcr.io/distroless/base-debian10
WORKDIR /
COPY --from=build /health-check-ping /health-check-ping
EXPOSE 8080
USER nonroot:nonroot
ENTRYPOINT ["/health-check-ping"]如何修复我的dockerfile,以便复制我的CSV文件,以便我的应用程序可以打开
编辑:

我已经将csv文件移动到health-check/,并通过执行以下操作替换了应用程序打开文件的方式:os.Open("/app/health-check/challenge_dataset.csv")
我的容器日志将返回以下错误:open /app/health-check/challenge_dataset.csv: no such file or directory
发布于 2022-07-14 19:13:22
问题是您没有将csv文件复制到您的码头。当使用FROM时,您会更改正在构建的映像,这样您的copy就变得不相关了。您需要在上一次COPY health-check/ /app之后(在公开之前编写行时工作)。
https://stackoverflow.com/questions/72985465
复制相似问题