你能理解Dockers的错误信息吗?

k2fxgqgv  于 2022-12-03  发布在  Docker
关注(0)|答案(6)|浏览(203)

我承认,我是一个容器世界的新手。但是我设法让docker在我的W10上运行WSL 2。我也可以使用docker-UI并运行容器/应用程序或图像。所以我相信基础设施已经到位并且是最新的。然而,当我尝试即使是最简单的Dockerfile时,它似乎也不工作,我不明白它给出的错误消息:这是Dockerfile:

FROM ubuntu:20.04
  • (是的,一个卑微的开始--或者一个极度精简的复制品)*
docker build Dockerfile
[+] Building 0.0s (2/2) FINISHED
 => ERROR [internal] load build definition from Dockerfile                                                                                                                    0.0s
 => => transferring dockerfile: 33B                                                                                                                                           0.0s
 => ERROR [internal] load .dockerignore                                                                                                                                       0.0s
 => => transferring context: 33B                                                                                                                                              0.0s
------
 > [internal] load build definition from Dockerfile:
------
------
 > [internal] load .dockerignore:
------
failed to solve with frontend dockerfile.v0: failed to build LLB: error from sender: Dockerfile is not a directory
o4tp2gmn

o4tp2gmn1#

您需要运行docker build -f [docker_file_name] .(不要错过末尾的点)。
如果文件名是Dockerfile,则不需要-f和文件名。

jqjz2hbq

jqjz2hbq2#

我遇到了类似的问题,我使用的是Windows的Docker桌面。重新启动笔记本电脑,问题得到了解决。希望它可能会帮助一些人。

li9yvcax

li9yvcax3#

首先检查Docker文件名(D应该是大写),然后运行docker build-f Dockerfile .(末尾加点)。

hxzsmxv2

hxzsmxv24#

对我来说,我有一个Linux符号链接在同一个目录作为Docker文件。当运行docker build从Windows 10,它给我的ERROR [internal] load build definition from Dockerfile。我怀疑Docker docker build .扫描目录,如果它不能读取一个文件,它崩溃。对我来说,我挂载目录与WSL和删除符号链接。

hc8w905p

hc8w905p5#

我遇到了同样的问题,但解决方案不同(在Windows上):

  • 我打开了控制台里我的文件夹;我的文件夹只包含Dockerfile
  • Dockerfile含量为FROM ubuntu:20.04(与OP相同)
  • 运行docker build,知道我当前的文件夹中有一个Dockerfile
  • 我收到操作员的同样错误信息
  • 我停止了Docker桌面服务
  • 再次运行docker build-得到"docker build" requires exactly 1 argument.
  • 运行了docker build Dockerfile-得到了unable to prepare context: context must be a directory: C:\z\docker\aem_ubuntu20\Dockerfile
  • 运行docker build .--得到error during connect: This error may indicate that the docker daemon is not running.
  • 已重新启动Docker桌面服务
  • 已运行docker build .--成功!
  • 结论:docker build PATH,其中PATH必须是文件夹名称,并且该文件夹必须包含Dockerfile
uujelgoq

uujelgoq6#

在我的情况下,我得到了这个错误时,运行docker命令在一个错误的目录。只要cd到目录中您的Dockerfile是,一切都是好的。

相关问题