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

当前回答

我打错了,

FROM apline:3.7而不是FROM alpine:3.7。

其他回答

有时这种错误来自于一个愚蠢的语法错误…… 在我的例子中,我修改了一个Dockerfile并删除了一些环境变量,但忘记从最后一行删除反斜杠…

    WORDPRESS_HTTPS_PORT="8443" \
    WORDPRESS_HTTP_PORT="8080" \
    WORDPRESS_SKIP_INSTALL="yes" \ <-- to be removed

EXPOSE 8080 8443
USER 0

我也有同样的问题。

码头工人文件名:

DockerFile错误 dockerFile错误 Dockerfile -工作!

你只需要一个大写的字符。

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

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

WSL2 Ubuntu:

rm ~/.docker/config.json

如果你看到了这个问题,它实际上并不是真正的问题。实际问题嵌套在错误日志的某个地方。要查看实际问题,您需要像这样运行构建命令:

DOCKER_BUILDKIT=0  docker build .

注意DOCKER_BUILDKIT=0。这将使构建工具包不隐藏嵌套错误。从那里你应该能够谷歌正确的解决方案。

这也会使构建在命令行中看起来不同,但不用担心。只需要查找错误。

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

将buildkit选项设置为false。

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