docker build 无法使用 **sticky** 目录中的 Dockerfile?

docker build 无法使用 **sticky** 目录中的 Dockerfile?

在 RH 7.2 64 位上运行 docker 1.12.1;

docker 总体来说运行良好;我的命令可以运行容器;或者导入档案...一切都很好。

但是当我在这里尝试这个时:

/data $ docker build -t foo/bar:1 

我得到:

unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /data/Dockerfile: no such file or directory

然后我尝试:

/data $ lstat Dockerfile
bash: lstat: command not found...
Similar command is: 'stat'

/data $ stat Dockerfile
stat: cannot stat ‘Dockerfile’: No such file or directory

/data $ stat /data/Dockefile 
File: ‘/data/Dockefile’
Size: 471           Blocks: 8          IO Block: 4096   regular file
Device: fd03h/64771d    Inode: 127         Links: 1
Access: (0600/-rw-------)  Uid: (1125706/guenthne)   Gid: (  600/  gloadl)
Access: 2016-09-05 16:37:42.835090097 +0200
Modify: 2016-09-05 16:37:42.835090097 +0200
Change: 2016-09-05 16:37:42.835090097 +0200
Birth: -

需要明确的是:当我使用相同的命令;以及相同的在我的本地 Ubuntu Linux 上运行 dockerfile 时,一切都运行正常。/数据不是符号链接;但我认为:它有位设置。不幸的是,该系统上我有写入权限的所有目录(/data、/home 和 /tmp)都是粘性的。

问题是:

  1. 知道是什么原因导致了这个问题吗?
  2. 当然,更重要的是:解决方案,或者至少是解决方法?

答案1

在这里发布我的问题的答案;以防有人意外遇到同样的问题;因为这与 stat、lstat 或任何东西都无关。

问题很简单拼写错误:将工作的 Dockerfile 复制到我的远程构建服务器时,我搞砸了,并将文件命名为文件代替Dockerfile

因此 Docker 给出了正确的消息:

无法准备上下文:无法评估 Dockerfile 路径中的符号链接:lstat/data/Dockerfile:没有此文件或目录

但不幸的是,“上下文/符号链接”的前缀只是具有误导性。

相关内容