我试图为我的盖茨比应用程序构建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"]

当前回答

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

其他回答

在我看来,这个错误有很多原因。

在我的例子中,有两个错误:(1)在Dockerfile中:# syntax = *****行拼写错误(2)在docker_compose文件中。Yaml, web / build: *行指向错误的目录。

通过阅读Dockerfile文档和休息来重新集中注意力,我得到了帮助。

在我的例子中,我有两张图片,我是从同一张图片复制的。我的具体错误是:failed to solve:未能解决与前端dockerfile。v0:创建LLB定义失败:在阶段:kubexit上检测到循环依赖

FROM karlkfi/kubexit:latest AS kubexit
COPY --from=kubexit /bin/kubexit /bin/

FROM maven:3.8-jdk-11-slim AS build

所以这是一个循环引用。解决办法:

FROM karlkfi/kubexit:latest AS kubexit

FROM maven:3.8-jdk-11-slim AS build
COPY --from=kubexit /bin/kubexit /bin/

我也有同样的问题,我所要做的就是将Docker配置文件名大写:

Dockerfile >没有工作

Dockerfile >工作

如果你在Windows中使用Docker,你需要在设置中禁用Docker引擎中的buildkit。它适用于我,解决了我的错误

将buildkit选项设置为false。

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": false
  }
}

我有这个问题/错误之前,我有一个脚本,我用来构建多个dockerfile,其中一个Dockerfiles被注释掉了。 当我取消注释Dockerfile并再次运行脚本时,它对我来说工作得很好。