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

当前回答

对于docker桌面,这个问题通常通过添加-f选项来解决。 例如:让docker文件放在c:\Dockerfile.txt

您可以运行以下命令来构建映像

docker build -f "c:\Dockerfile.txt"

其他回答

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

我错过了。在给出上下文选项的命令的末尾,和 我在Dockerfile的文件名中有一个“。txt”扩展名。

经过这两次调整,一切都达到了预期的效果。

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

FROM wordpress:latest

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

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

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

我在使用WSL2 Ubuntu时遇到了这个问题,我通过更改Dockerfile的权限来解决它。

当我在我的电脑上设置WSL2时,我直接将我的一些文件(包括Dockerfile)从Windows复制到Ubuntu根文件夹中,这显然导致文件权限为空:

---------- 1 user user 10M Jan 1 00:00 Dockerfile

为了解决这个问题,我运行chmod 644 Dockerfile:

-rw-r--r-- 1 user user 10M Jan 1 00:00 Dockerfile

在那之后,Docker能够构建图像而没有任何进一步的问题。

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

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

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

Dockerfile >没有工作

Dockerfile >工作