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

当前回答

如果您正在使用任何在Dockerfile v0中不支持的新特性(如多个构建上下文),您需要在Dockerfile的开头指定Dockerfile版本

例如,在Dockerfile中,第一行是:

#syntax=码头工人/码头工人文件:1.4

其他回答

对我来说

无法用前端dockerfile解决。v0:创建LLB失败定义:当前上下文中没有构建阶段

是在FROM之前设置ENV引起的。对于某些Dockerfile指令,这可能是不允许的。在移动ENV之后,FROM错误就消失了。

如果你正在使用Docker桌面,重新启动Docker对我来说是有效的。 故障处理→重启

我通过在构建命令的开头添加sudo (Ubuntu)来解决这个问题。 例如:

sudo docker build --tag somename .

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

在WSL2中,ddev在docker-credential-desktop.exe上启动失败,“错误列出凭据”#2342

如果你之前执行了docker buildx install,你的docker命令别名为docker buildx,它基于docker Buildkit,目前不支持(遗憾的是)Windows容器。

使用实例删除别名。

docker buildx uninstall

我希望这能为像我这样忘记这个别名的人节省时间