Docker,复制图像,错误 - 错误:无法解决:无法计算缓存密钥:无法计算校验和

问题描述 投票:0回答:5

我正在docker中做一个教程,并尝试从docker复制图像,并在我的本地文件中引用index.hmtl文件, vinnyx05 -> 是我在 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

我不知道如何解决这个问题,请帮忙吗? 谢谢=)

我正在尝试复制图像,并在本地编辑index.html

docker dockerfile docker-container docker-image docker-copy
5个回答
1
投票

确保您正在基于 Linux 的终端(如 WSL)上运行。这似乎是一个“Windows”问题。


1
投票

Docker 找不到文件

html/index.html

也许,根据您的文件夹结构,您应该像这样复制文件:

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

0
投票

您正在从 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 temp 目录) )。或者最好修复
COPY
命令以引用您的上下文中存在的文件,例如:

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

0
投票

仔细检查您的 .dockerignore 文件,如果存在,请确保错误消息中提到的文件不存在于该文件中。


0
投票

确保在构建图像时使用正确的

context
文件夹,尤其是在 docker-compose 的情况下。

© www.soinside.com 2019 - 2024. All rights reserved.