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

当前回答

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

sudo docker build --tag somename .

其他回答

我所需要做的只是在构建中添加—no-cache作为参数。

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

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

使用实例删除别名。

docker buildx uninstall

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

在我的例子中,我试图从我正在构建的Docker映像中的当前目录复制wp-content文件夹。像这样:

FROM wordpress:latest

# Copy wp-content
COPY ./wp-content/ ./var/www/html/wp-content/

但是,我注意到我有一个.dockerignore文件,它被明确告知忽略wp-content。

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

禁用macOS v11 (Big Sur)虚拟化框架: