centos 如何解决“无法准备上下文:路径“.”未找到”Docker构建错误?

sd2nnvve  于 2022-11-07  发布在  Docker
关注(0)|答案(4)|浏览(346)

我正在尝试从我的Dockerfile构建Docker映像。我在CentOS 7访客操作系统上安装了Docker-CE 18.06,运行在VMWare Player 14上。项目目录位于通过VMWare的vmhgfs-fuse工具挂载的共享文件夹内。我的主机操作系统是Windows 10 Home。到目前为止,我还没有为该项目使用Docker-compose。
[超级durszlak @本地主机候选人匹配]$ sudo码头构建-t候选人匹配。
无法准备上下文:找不到路径“.”
我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是。
无法准备上下文:找不到路径“.”
我已经仔细检查了我的Dockerfile是否命名正确,我的Docker守护进程是否启动并运行,我的工作目录是否正确,以及共享文件夹的内容是否可以从访客操作系统内部访问,没有任何问题。
导致此类错误的可能原因是什么?

6mw9ycah

6mw9ycah1#

这是一个权限问题。如果root用户没有权限读取您当前的目录,并且您使用sudo运行docker命令,那么您将看到“not found”错误。这可能表示父目录在最后一节中没有读取和执行权限(例如chmod 700 $HOME将中断root对$HOME/my_proj的访问)。
两种解决方案:
1.正如您所看到的,以您自己的用户身份而不是root用户身份运行命令,这是通过将您自己添加到docker组来完成的:sudo usermod -aG docker $(id -un) && newgrp docker
1.使用chmod将父目录上的权限修复为至少0755。确保这些目录中的任何敏感文件都受到适当限制(例如0600)。

ftf50wuq

ftf50wuq2#

显然,上述问题的解决方案是直接的,但可能不明显的经验不足的Docker用户。我需要添加我的用户到组 docker,以建立Docker图像从Dockerfile放在共享文件夹。
有趣的是,我现在可以以没有root权限的用户身份构建我的Docker映像:
[超级durszlak @本地主机候选人匹配]$ docker构建。
正在将构建上下文发送到Docker守护程序1.055MB
步骤1/8:来自ubuntu:18.04

  • 工作正常 *

但是运行 *sudo docker build... * 仍然会导致问题中提到的错误。
根据docker docs,将用户添加到 docker 组是可选的,但是:https://docs.docker.com/install/linux/linux-postinstall/

rur96b6h

rur96b6h3#

我在一个Ubuntu环境中,管理单元给了我这个问题。我通过卸载然后按照以下说明安装来解决我的问题:https://docs.docker.com/engine/install/ubuntu/

7xzttuei

7xzttuei4#

请尝试以下操作:
sudo docker build . -t候选人匹配

相关问题