我是docker的新手,正在尝试从SLES 15基础镜像创建docker文件:
FROM <base image - SLES 15 >
LABEL <label> \
Version="1.0"
在 docker-compose.yml 文件中,我提到了:
working_dir: $PWD
volumes:
- $PWD/../../:$PWD/../../
在我启动Docker容器时,出现以下错误,无法访问任何文件或目录:
ls: cannot access '<directory/file name>': Operation not permitted
total 0
d????????? ? ? ? ? ? <directory-name>
我尝试了一些建议的解决方案,例如:
- 使用chown/chmod设置文件权限
- 禁用selinux
你有关于这个问题的根本原因和可能的解决方案的想法吗?
来自stackoverflow的类似问题:使用SLES15和*Suse容器时,在Docker容器中没有访问权限
echo "dockerbuilduser ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/dockerbuilduser &&
mkdir /home/dockerbuilduser/.gradle &&
chown 1000:1000 /home/dockerbuilduser &&
chmod 777 -R /home/dockerbuilduser &&
chmod 0400 /etc/sudoers.d/dockerbuilduserUSER dockerbuilduser``。创建了一个与主机用户具有相同uid的用户,并分配了所有权。但是,当我执行
cd /home/dockerbuilduser
然后ls -l
时,我遇到了权限错误,新创建的文件夹也是一样的错误。 - Mangesh Patil--privileged
标志运行容器后,我可以无需权限错误地运行ls -l
。然而,据我所知,不建议使用特权容器。那么,在没有特权容器的情况下,我该如何解决这个问题呢? - Mangesh Patil