我无法使用Docker build构建我的Docker文件来创建Docker镜像

7
当我尝试构建我的Docker文件时,Docker返回以下错误:
[+] Building 0.0s (1/2)                                                                                                                                                                                                                                       
 => ERROR [internal] load build definition from Dockerfile                                                                                                                                                                                               0.0s
 => => transferring dockerfile: 36B                                                                                                                                                                                                                      0.0s
------
 > [internal] load build definition from Dockerfile:
------
failed to solve with frontend dockerfile.v0: failed to read dockerfile: error from sender: walk Dockerfile: not a directory

有人知道如何解决这个问题吗?
提前感谢您的帮助。


2
请问您能否在问题中包含完整的 docker build 命令? - cam
2
同时编辑Dockerfile的问题和内容。 - Saeed
5个回答

2

根据提供的信息,很难100%确定如何指导您,但看起来您可能直接提供了文件路径而不是文件夹路径(您可以在文档中阅读更多信息):

# this is used to build a Dockerfile file inside directory /PATH/TO/FOLDER
docker build /PATH/TO/FOLDER

如果您想提供 Dockerfile 路径而不是文件夹路径,则可能需要执行以下操作(请再次阅读文档了解更多信息):
# this is used to build a Dockerfile file given its content
docker build - < /PATH/TO/FOLDER/Dockerfile

(请注意,第一种情况是在上下文中构建,而不是第二种情况,在这里我让您阅读Docker的文档,这是相当好的。)

1
这种类型的错误通常是因为Dockerfile的名称不正确。请检查名称是否完全是"Dockerfile",只有大写字母D,没有文件扩展名。

它没有起作用,错误仍然存在。 - olivedevelop
你能展示Dockerfile的内容吗? - José Ignacio Durand

0

我在使用 docker version 20.10.5, Mac: Big Sur 11.2.3 (最新版本) 时遇到了相同的错误

即使使用基本镜像也是如此...

FROM nginx
CMD [ "sleep", "30000" ]

出现了证书问题,但是对我来说brew updatebrew upgrade --force解决了这个问题。希望这能帮到你 :-)


0
当您调用docker build并将Dockerfile作为参数而不是目录时,会发生此错误。
也就是说,您尝试了以下错误的命令:
docker build Dockerfile
不过,你需要按照以下方式调用命令:
docker build .

(如果您不是在与Dockerfile相同的目录中运行命令,请替换正确的目录名称。)

0

我遇到了这个问题。 确保Dockerfile的位置具有访问文件系统的权限。 一旦我给予了权限,我就能够解决这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接