无法使用前端DockerFIle.v0解析

无法使用前端DockerFIle.v0解析,docker,docker-compose,dockerfile,gatsby,Docker,Docker Compose,Dockerfile,Gatsby,我试图为我的盖茨比应用程序建立我的Docker形象。每当我运行命令docker build时-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 /ap

我试图为我的盖茨比应用程序建立我的Docker形象。每当我运行命令
docker build时-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 Subsystem for Linux(WSL)[Debian WSL2]内部的容器时遇到了这个问题,刚刚安装了docker compose,我所要做的就是关闭[Debian]终端并重新打开它,我的问题就解决了。

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

dockerfile
>不起作用


Dockerfile
>确实有效

如果您正在使用docker desktop,重新启动docker对我有效。
疑难解答->重新启动

在我的情况下,我试图从当前目录中复制我正在构建的docker映像中的
wp内容
。像这样:

FROM wordpress:latest

# Copy wp-content
COPY ./wp-content/ ./var/www/html/wp-content/
然而,我注意到我有一个
.dockrignore
文件,它被明确告知忽略
wp内容


当我从
.dockrignore
中删除
wp content/
时,它工作得很好。

在我的情况下,上下文选项中的“.”后面有一个额外的空格

docker build -t myapp .[EXTRA_SPACE_HERE]

就我而言,我有两个问题:

  • 我错过了比赛。在给出上下文选项的命令末尾,以及
  • 我在Dockerfile的文件名中有一个“.txt”扩展名
  • 经过这两次调整后,一切都按预期进行。

    前面提到过:

    请将您的
    docker文件重命名为:

    dockerfile
    dockerfile
    无扩展名

    并确保如果您有一个
    .dockrignore
    ,则以小写的
    d

    然后在命令行中运行以下命令来创建图像

    docker build-t yourapp:yourtag.


    有关详细信息,请参阅此文档

    确保您的
    .dockergnore
    与您的文件不匹配。

    尽管将文件命名为Dockerfile,但仍面临相同的问题。我重新启动了docker,它对我有效。所以,请尝试同样的方法。谢谢

    如果您正在使用WSL,请在启动窗口之前检查Docker是否正在运行。如果启动窗口后已启动docker。然后重新启动你的终端。如果你的文件是正确的,它应该可以工作。

    在我的情况下

    failed to solve with frontend dockerfile.v0: failed to create LLB definition: no build stage in current context
    

    是由于从之前设置了环境而导致的。某些dockerfile指令可能不允许这样做。在移动ENV之后,错误就消失了。

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

        WORDPRESS_HTTPS_PORT="8443" \
        WORDPRESS_HTTP_PORT="8080" \
        WORDPRESS_SKIP_INSTALL="yes" \ <-- to be removed
    
    EXPOSE 8080 8443
    USER 0
    
    WORDPRESS\u HTTPS\u PORT=“8443”\
    WORDPRESS_HTTP_PORT=“8080”\
    
    WORDPRESS\u SKIP\u INSTALL=“yes”\我不记得我到底在哪里读过这篇文章,但如果您正在使用WSL2并收到该错误,请删除WSL2主文件夹中的docker配置文件并尝试重建您的映像

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

    WSL2 Ubuntu:

    rm ~/.docker/config.json
    

    在mac上升级到最新的docker桌面版本后,我遇到了这个问题。通过对的评论解决

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

    export DOCKER_BUILDKIT=0
    export COMPOSE_DOCKER_CLI_BUILD=0
    
    有一个打字错误


    apline:3.7中的
    而不是alpine:3.7中的
    我在磁盘空间不足时遇到了这个问题,可能是由于我在梳理和调整Dockerfile时积累了大量图像层缓存而加剧了这种情况。

    有时可能非常简单:您忘记将运行命令的目录更改为包含Dockerfile的目录。

    如果您看到这个问题,它实际上不是真正的问题。实际问题嵌套在错误日志的某个位置。要查看实际问题,您需要像下面这样运行build命令:

    DOCKER_BUILDKIT=0  docker build .
    
    请注意
    DOCKER\u BUILDKIT=0
    。这将使生成工具包不会隐藏嵌套错误。从那里你应该能够谷歌正确的解决方案


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

    我还提到了发生在我身上的另一种可能性:如果您使用的是构建阶段,请确保您在整个过程中都有正确的阶段名称

    我有一个舞台

    来自zzz AS开发

    这后来被用于另一个阶段

    作为yyy开发

    一时兴起,我将
    开发
    更改为
    开发
    ,但只是在第一次。因此,后者仍然是
    来自开发
    ,而前者是
    作为开发

    奇怪的是,对于这样一个小错误,错误信息是多么神秘。。。你可能认为他们可能只是有错误消息说“找不到
    开发
    ”或什么的。

    我必须设置
    “credstore”:“
    在我的
    ~/.docker/config.json…
    中,它以前被设置为credentials.exe


    通过设置
    HTTP_PROYY
    HTTP_PROXYS
    环境变量来指定代理服务器

    例如:

    http_proxy=http://username:password@proxy.example.com:8080
    https_proxy=http://username:password@proxy.example.com:8080
    

    仔细检查您没有多个同名的嵌套目录,因此我的主
    Dockerfile
    没有引用辅助
    Dockerfile
    *facepalm

    我通过重新启动Docker服务解决了问题。

    禁用Big-Sur虚拟化框架

    我也遇到了同样的问题-在构建容器之前,我没有保存Dockerfile!保存它,以便它可以看到您希望它运行的命令

    我在玩Windows容器时遇到了这个问题,切换到正确的容器平台(Linux/Windows)为我解决了这个问题。

    这看起来很愚蠢,但请检查您是否已登录到Docker帐户。。。(我不是)。

    FROM --platform=linux/amd64 node:14

    FROM --platform=linux/amd64 my-custom-service
    
    ---------- 1 user user 10M Jan 1 00:00 Dockerfile
    
    -rw-r--r-- 1 user user 10M Jan 1 00:00 Dockerfile