报错详情:
#> docker build -t harbor.wulian.cc/app/vue-rams_hprod:v1 .
[+] Building 0.5s (6/6) FINISHED docker:default
=> [internal] load .dockerignore 0.1s
=> => transferring context: 122B 0.0s
=> [internal] load build definition from Dockerfile 0.2s
=> => transferring dockerfile: 318B 0.0s
=> [internal] load metadata for harbor.wulian.cc/thrid/nginx:1.25.2 0.0s
=> [internal] load build context 0.1s
=> => transferring context: 2B 0.0s
=> CACHED [1/2] FROM harbor.wulian.cc/thrid/nginx:1.25.2 0.0s
=> ERROR [2/2] COPY dist /data/www 0.0s
------
> [2/2] COPY dist /data/www:
------
Dockerfile:8
--------------------
6 | ENV LOG_DIR=/data/log/nginx
7 | EXPOSE 80
8 | >>> COPY dist /data/www
9 | ENTRYPOINT nginx -g "daemon off;"
10 | #end
--------------------
ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref 7b6ccaca-de66-4686-8381-ff172823a942::r50kmnorhyk5dzslgvilsvknn: "/dist ": not found
分析:
1.检查路径存在,且和Dockerfile在同一路径,确认不是文件的问题
2.检查docker本身,查看该路径下存在.dockerignore,发现dist文件在里面
3.删除文件里的dist该行,解决
总结:.dockerignore 文件一定要慎用,不要随便添加或者不用,特别的docker build的时候,比较难纠错。这个问题也困扰了好久,主要走了很多弯路