【问题标题】:Docker + SLES15 : Unable to access files inside docker container : ls: cannot access '<directory/file name>': Operation not permittedDocker + SLES15:无法访问 docker 容器内的文件:ls:无法访问“<目录/文件名>”:不允许操作
【发布时间】: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>

我尝试了可能的解决方案,例如:

  1. 使用 chown/chmod 设置文件权限
  2. 禁用 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


【解决方案1】:

我遇到了权限问题,因为我在基于 CentOS 的主机中运行基于 SLES 的 docker 容器。如果我使用基于 SLES 的主机,我可以在没有任何权限问题的情况下运行容器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-17
    • 2021-01-03
    • 2016-03-18
    • 2018-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多