我承认,我是一个容器世界的新手。但是我设法让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
6条答案
按热度按时间o4tp2gmn1#
您需要运行
docker build -f [docker_file_name] .
(不要错过末尾的点)。如果文件名是
Dockerfile
,则不需要-f
和文件名。jqjz2hbq2#
我遇到了类似的问题,我使用的是Windows的Docker桌面。重新启动笔记本电脑,问题得到了解决。希望它可能会帮助一些人。
li9yvcax3#
首先检查Docker文件名(D应该是大写),然后运行docker build-f Dockerfile .(末尾加点)。
hxzsmxv24#
对我来说,我有一个Linux符号链接在同一个目录作为Docker文件。当运行
docker build
从Windows 10,它给我的ERROR [internal] load build definition from Dockerfile
。我怀疑Dockerdocker build .
扫描目录,如果它不能读取一个文件,它崩溃。对我来说,我挂载目录与WSL和删除符号链接。hc8w905p5#
我遇到了同样的问题,但解决方案不同(在Windows上):
Dockerfile
Dockerfile
含量为FROM ubuntu:20.04
(与OP相同)docker build
,知道我当前的文件夹中有一个Dockerfile
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 build .
--成功!docker build PATH
,其中PATH
必须是文件夹名称,并且该文件夹必须包含Dockerfile
uujelgoq6#
在我的情况下,我得到了这个错误时,运行
docker
命令在一个错误的目录。只要cd
到目录中您的Dockerfile是,一切都是好的。