我今天刚刚下载了Windows 10 64位的Docker工具箱。我正在看教程。当我试图使用Dockerfile构建一个映像时,我收到以下错误。

步骤:

启动Docker快速入门终端。 Testdocker创建后。 准备Dockerfile文档在“建立你自己的形象”网页链接 运行以下命令

Docker build -t Docker -whale。

错误:$ docker build -t docker-whale。

unable to prepare context: unable to evaluate symlinks in Dockerfile path: GetFileAttributesEx C:\Users\Villanueva\Test\testdocker\Dockerfile:系统找不到指定的文件。

顺便说一句:我尝试了提到的几个选项@ https://github.com/docker/docker/issues/14339

docker info

输出:

Containers: 4
 Running: 0
 Paused: 0
 Stopped: 4
Images: 2
Server Version: 1.10.1
Storage Driver: aufs
 Root Dir: /mnt/sda1/var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 20
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Plugins:
 Volume: local
 Network: bridge null host
Kernel Version: 4.1.17-boot2docker
Operating System: Boot2Docker 1.10.1 (TCL 6.4.1); master : b03e158 - Thu Feb 11 22:34:01 UTC 2016
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 996.2 MiB
Name: default
ID: C7DS:CIAJ:FTSN:PCGD:ZW25:MQNG:H3HK:KRJL:G6FC:VPRW:SEWW:KP7B
Debug mode (server): true
 File Descriptors: 32
 Goroutines: 44
 System Time: 2016-02-19T17:37:37.706076803Z
 EventsListeners: 0
 Init SHA1:
 Init Path: /usr/local/bin/docker
 Docker Root Dir: /mnt/sda1/var/lib/docker
Labels:
 provider=virtualbox

当前回答

错误消息具有误导性

这个问题实际上与符号链接无关。 通常,问题只是Docker找不到描述构建的Dockerfile。

典型原因如下:

Dockerfile has wrong name. It must be called Dockerfile. If it is called, for instance, dockerfile, .Dockerfile, Dockerfile.txt, or other, it will not be found. Dockerfile is not in context. If you say docker build contextdir, the Dockerfile must be at contextdir/Dockerfile. If you have it in, say, ./Dockerfile instead, it will not be found. Dockerfile does not exist at all. Does it sound silly? Well, I got the above error message from my GitLab CI after I had written a nice Dockerfile, but I had forgotten to check it in. Silly? Sure. Unlikely? No.

其他回答

当我工作的路径在一个结点目录下时,我在Windows上得到了这个。所以我的解决办法就是不在这条道路上工作。

最重要的是,确保文件名为Dockerfile。如果你用另一个名字是行不通的(至少对我来说不是)。

此外,如果您在Dockerfile所在的同一目录中,请使用.,即,

docker build -t Myubuntu1:v1。

或者使用绝对路径,即,

docker build -t Myubuntu1:v1 /Users/<username>/Desktop/ docker . txt

我最初在PowerShell中创建了我的Dockerfile,虽然我没有看到文件上的扩展名,但它显示为PS文件类型…当我从notepad++创建文件时,确保选择“所有类型(.)”没有扩展名的文件类型(Dockerfile)。这允许我的映像构建命令成功完成…只要确保你的Dockerfile有一个“File”类型…

安装码头工人。IO代替docker帮助了我

i.e.

apt install docker.io

确保文件名“Dockerfile”没有任何扩展名。 只需创建一个没有任何扩展名的文件。

并确保Dockerfile位于您试图构建Docker映像的同一目录中。