你能理解Dockers的错误消息吗



我承认,我是集装箱界的新手。但我设法让docker在我的W10上运行WSL2。我还可以使用docker UI并运行Containers/Apps或Images。因此,我相信基础设施已经到位并处于最新状态。然而,当我尝试最简单的Dockerfile时,它似乎也不起作用,我也不理解它给出的错误消息:这是Dockerfile:

FROM ubuntu:20.04

(是的,一个卑微的开始-或者一个极其精简的repo(

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

您需要运行docker build -f [docker_file_name] .(不要错过末尾的点(。

如果文件名为Dockerfile,则不需要-f和文件名。

我遇到了类似的问题,我使用windows的docker桌面。重新启动笔记本电脑,问题得到解决。希望它能帮助到别人。

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

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

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

对我来说,我在与Dockerfile相同的目录中有一个Linux符号链接。在Windows10上运行docker build时,它给了我ERROR [internal] load build definition from Dockerfile。我怀疑Dockerdocker build .扫描目录,如果它不能读取一个文件,就会崩溃。对我来说,我用WSL安装了目录,并删除了symblink。

在我的案例中,当在错误的目录中运行docker命令时,我遇到了这个错误。只需cd到Dockerfile所在的目录,一切都会好起来。

最新更新