Docker,复制镜像,错误-错误:未能解决:无法计算缓存键:无法计算校验和

6ioyuze2  于 2023-06-21  发布在  Docker
关注(0)|答案(3)|浏览(1433)

我正在做一个docker的教程,试图从docker复制一个镜像,并在我的本地文件中引用index.hmtl文件,vinnyx 05->是我在docker的登录名,我正在运行docker桌面。使用Windows 11。代码是:

PS C:\html> docker build -t vinnyx5/nginx-imersao13:latest . 
[+] Building 0.2s (6/6) FINISHED
 => [internal] load build definition from Dockerfile                                                                                         0.1s 
 => => transferring dockerfile: 101B                                                                                                         0.0s 
 => [internal] load .dockerignore                                                                                                            0.1s 
 => => transferring context: 2B                                                                                                              0.0s 
 => [internal] load metadata for docker.io/library/nginx:latest                                                                              0.0s 
 => [internal] load build context                                                                                                            0.0s 
 => => transferring context: 2B                                                                                                              0.0s 
 => CACHED [1/2] FROM docker.io/library/nginx:latest                                                                                         0.0s 
 => ERROR [2/2] COPY html/index.html /usr/share/nginx/html/                                                                                  0.0s 
------
 > [2/2] COPY html/index.html /usr/share/nginx/html/:
------
Dockerfile:3
--------------------
   1 |     FROM nginx:latest
   2 |
   3 | >>> COPY html/index.html /usr/share/nginx/html/
--------------------
ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref ccf5a995-3d05-4517-a1ee-20291664f134::ljszgt44a3wte8c2sal6f54p2: failed to walk /var/lib/docker/tmp/buildkit-mount2559770106/html: lstat /var/lib/docker/tmp/buildkit-mount2559770106/html: no such file or directory

我不知道如何解决这个问题,请帮助。Thanks =)
我试图做一个图像的副本,并在本地编辑de index.html

1dkrff03

1dkrff031#

确保你运行的是基于linux的终端(比如WSL)。这似乎是一个“窗口”的问题。

ctehm74n

ctehm74n2#

Docker找不到文件html/index.html
也许,与您的文件夹结构相关,您应该像这样复制文件:

COPY ./html/index.html /usr/share/nginx/html
b0zn9rqh

b0zn9rqh3#

您正在从html文件夹内部构建:

PS C:\html> docker build -t vinnyx5/nginx-imersao13:latest .

该命令中的生成上下文是.或当前目录。
然后尝试使用以下命令将文件html/index.html从该上下文复制到映像:

COPY html/index.html /usr/share/nginx/html/

要做到这一点,文件C:\html\html\index.html需要存在(注意路径中的双html)。
要解决这个问题,请将上下文更改为更高的目录(不推荐,因为您正在c:\下工作,并且您不想将整个C驱动器复制到C驱动器上的docker临时目录)。或者最好修复COPY命令以引用您的上下文中存在的文件,例如:

COPY index.html /usr/share/nginx/html/

相关问题