【发布时间】:2022-01-26 04:12:34
【问题描述】:
我是 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 中的类似问题:No access rights in Docker Container when using SLES15 and *Suse Container
【问题讨论】:
-
如果关注您链接的线程,您是否尝试过在另一个发行版映像(如 debian)上执行类似操作
-
我确实尝试了基于 CentOS7 的图像,但没有发现任何问题。我可以使用“ls -n”访问文件/目录而没有权限问题
-
可能是用户权限问题?尝试对每个图像使用
id命令,以查看您在其中运行的用户是什么 -
是的,在运行带有
--privileged标志的容器后。我可以在没有权限错误的情况下运行ls -l。但是据我了解,不建议使用特权容器。没有特权容器如何解决这个问题。 -
我可以推断出今天可能存在的问题。实际上,尝试在基于 CentOS 的主机上运行基于 SLES 的 docker 容器是我的错误。这就是权限问题的原因。当我使用基于 SLES 的主机时,没有权限问题。对困惑感到抱歉。感谢诺姆您的所有投入。它帮助我理解了 docker 的概念。
标签: docker docker-compose suse sles