我试图为我的盖茨比应用程序构建Docker映像。每当我运行命令docker构建。-t gatsbyapp,它会给出一个错误:

failed to solve with frontend dockerfile.v0: failed to build LLB:
failed to compute cache key: "/.env" not found: not found

同时我的Dockerfile如下所示:

FROM node:13

WORKDIR /app

COPY package.json .

RUN yarn global add gatsby-cli

RUN yarn install

COPY gatsby-config.js .

COPY .env .

EXPOSE 8000

CMD ["gatsby","develop","-H","0.0.0.0"]

当前回答

我不记得我到底是在哪里读到这篇文章的,但如果您正在使用WSL2并收到这个错误,那么请删除WSL2主文件夹中的Docker配置文件,并尝试重新构建映像。

也就是说,如果你已经检查了你的文件名,并再次确认所有的命名都是正确的(Dockerfile, .dockerignore等)。

WSL2 Ubuntu:

rm ~/.docker/config.json

其他回答

可能不是OP的问题,但我在试图构建运行在Windows Linux子系统(WSL) (Debian WSL2)中的容器时遇到了这个问题,刚刚安装了Docker Compose,我所要做的就是关闭(Debian)终端并重新打开它,我的问题就解决了。

还有另一种可能性:当我试图用Windows 10服务器核心映像构建Dockerfile时,我在Windows 10上为WSL使用了基于linux的容器。

在系统托盘中,右键单击Docker Desktop并选择切换到Windows容器…

我在使用visual studio 2022时也遇到了同样的问题。问题是visual studio 2022的逻辑目录结构与物理目录结构不同。因此,该文件在visual studio 2022展示的位置上并不存在。

一旦指定了正确的位置,它就可以正常工作。

我不需要改变DOCKER_BUILDKIT=0或任何设置。但使用-f选项指定docker文件。

我在Mac上升级到最新的Docker Desktop版本后遇到了这个问题。通过对这个问题的评论解决了。

解决方案:不要使用buildkit,它适合我。

export DOCKER_BUILDKIT=0
export COMPOSE_DOCKER_CLI_BUILD=0

我在通过Visual Studio 2019构建Docker映像时遇到了同样的问题。我的Docker文件有一个类似Dockerfile的名字。

Dockerfile >没有工作

Dockerfile >工作