这是我的 DockerfileFROM golang:1.13 as builderWORKDIR /appCOPY invoke.go ./COPY readproperties.go ./COPY config.properties ./RUN CGO_ENABLED=0 GOOS=linux go build -v -o serverFROM fishtownanalytics/dbt:0.19.0USER rootWORKDIR /dbtCOPY --from=builder /app/server ./COPY script.sh ./COPY jaffle-shop ./ENTRYPOINT ["./server"]当我运行 Docker 镜像并且 Go 服务器(invoke.go 具有调用 readproperties 函数的主函数)引用 config.properties 时,我收到以下错误:2021/04/21 22:27:29 Go: starting server...2021/04/21 22:27:29 open config.properties: no such file or directory如何复制属性文件?它有对key=value以这种方式构建和运行:docker build -t sample:v1PORT=8080 && docker run -p 9090:${PORT} -e PORT=${PORT} sample:v1所有文件都位于 与 相同的位置。Dockerfile
1 回答
猛跑小猪
TA贡献1858条经验 获得超8个赞
您的属性文件将复制到“构建器”阶段 - 在编译期间不需要它。相反,它应该被复制到最后阶段。
将 Docker 文件更新为:
FROM golang:1.13 as builder
WORKDIR /app
COPY invoke.go ./
COPY readproperties.go ./
#
# REMOVE:
#
# COPY config.properties ./
RUN CGO_ENABLED=0 GOOS=linux go build -v -o server
FROM fishtownanalytics/dbt:0.19.0
USER root
WORKDIR /dbt
COPY --from=builder /app/server ./
COPY script.sh ./
COPY jaffle-shop ./
#
# ADD:
#
COPY config.properties ./
#
# OR: copy it from the builder stage
#
#COPY --from=builder /app/config.properties ./
ENTRYPOINT ["./server"]
- 1 回答
- 0 关注
- 159 浏览
添加回答
举报
0/150
提交
取消
