1 回答
TA贡献1872条经验 获得超3个赞
GOPATH无关紧要;它用于“解析 import 语句”,在运行可执行文件时不起任何作用(除非您的代码专门引用它!这就是问题所在。WORKDIR
从“清除由先前指令创建的任何状态”。这包括 .例如,如果您使用 docker 文件:WORKDIR
FROM alpine:3.12
WORKDIR /test
copy 1.txt .
FROM alpine:3.12
copy 2.txt .
最终生成的图像将在根文件夹(而不是文件夹)中包含文件。2.txt/test
在您的中,您正在将文件夹复制到假设将设置;但事实并非如此(默认为 )。最简单的解决方法是更改为 。dockerfilemedia/go/src/github.com/kiketordera/advanced-performance/media/WORKDIR/COPY --from=builder /go/src/github.com/kiketordera/advanced-performance/media/ /go/src/github.com/kiketordera/advanced-performance/media/COPY --from=builder /go/src/github.com/kiketordera/advanced-performance/media/ /media/
您还从根文件夹访问文件,因此需要将这些文件复制到(或类似文件夹中)。鉴于您正在执行此操作,最好将所有内容(exe,html文件和媒体文件夹)放入一个文件夹(例如)中,以保持根文件夹的清洁。COPY --from=builder /go/src/github.com/kiketordera/advanced-performance/*.html //app
注意:无需在第二张图像中设置;如上所述,运行可执行文件时它不相关。我建议使用模块(对GOPATH的支持可能会在1.17中删除);这也将使您大大缩短路径!GOPATH
- 1 回答
- 0 关注
- 86 浏览
添加回答
举报