Ope*_*nja 7 linux docker ubuntu-16.04
我在跑 :
$ docker build -t somefile .
Run Code Online (Sandbox Code Playgroud)
每次我运行时都会收到此错误:
unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat
Run Code Online (Sandbox Code Playgroud)
完整的错误是:
unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /home/someusername/code/Dockerfile: no such file or directory
Run Code Online (Sandbox Code Playgroud)
我认为这与我使用的 docker 版本有关,因此使用本指南升级到最新版本: 安装最新的 docker 版本。我仍然遇到同样的错误。我尝试过不同的 docker 版本。我在不同的服务器上尝试过。我什至尝试过不同的 docker 文件。
我试过的最后一台服务器使用的是这个版本的 docker:
Docker version 17.03.1-ce, build c6d412e
Run Code Online (Sandbox Code Playgroud)
不知道我哪里出错了。请需要进行健全性检查。
小智 8
我看到很多地方都在问这个问题。好吧,我想我找到了解决方案。
在早期版本中,DockerFile 以大写字母“F”命名。然而,在最新版本中,DockerFile 仅在包含一个小的“f”时才能被识别。
我最近升级了docker [Docker version 17.09.1-ce, build 19e2cf6 on CentOS 7] 发现
docker build -t someapp .
Run Code Online (Sandbox Code Playgroud)
如果当前目录包含文件DockerFile 则失败,但如果它包含Dockerfile则运行良好
小智 3
在当前目录中运行命令“ls”并查看 Dockerfile 的文件扩展名。如果您有扩展名,则需要指定 Dockerfile.abc 的完整路径
否则,您可以使用“TextWrangler”(适用于 mac)创建一个不带扩展名的空白 Dockerfile,然后运行命令
docker image build -t yourname/firstapp .
Run Code Online (Sandbox Code Playgroud)
我希望您已经解决了这个问题;为未来的访客分享这个:)附件是带有解决方案的终端屏幕截图
