【发布时间】:2020-09-12 18:39:00
【问题描述】:
我的项目根目录上有一个文件,我打开它是这样的:
file, err := os.Open("file.csv")
当我创建go run main.go 时,它可以工作。当我使用 dockerfile 运行应用程序时,它不起作用:
打开 file.csv:没有这样的文件或目录
我的 dockerfile 是这样的:
FROM golang:alpine as builder
RUN mkdir /build
ADD . /build/
WORKDIR /build
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -ldflags '-extldflags "-static"' -o main .
FROM scratch
COPY --from=builder /build/main /app/
WORKDIR /app
CMD ["./main"]
我不习惯 dockerfiles,所以也欢迎任何即兴表演!
【问题讨论】:
-
csv 位于哪个目录,如果 /build/ 那么您需要确保复制该目录,而不仅仅是主目录?另外,请确保 .dockerignore 没有任何干扰。
标签: docker go dockerfile