欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker容器内挂载目录无权限 ls cannot open directory Permission denied

程序员文章站 2022-05-14 20:44:22
...

docker运行一个容器,将主机中当前目录下的文件夹挂载到容器的文件夹后,进入到docker容器内对应的挂载目录中,运行命令ls后提示:

ls: cannot open directory .: Permission denied

问题原因及解决办法

原因是CentOS7中的安全模块selinux把权限禁掉了,至少有以下三种方式解决挂载的目录没有权限的问题:

  • 1.在运行容器的时候,给容器加特权,及加上--privileged=true参数:
docker run -d -t --privileged=true xxx
  • 2.如果使用的是docker-compose,则在配置文件中加上-privileged=true环境变量:
    environment:
      - TZ=Asia/Shanghai
      - privileged=true
  • 3.临时关闭selinux:
setenforce 0
  • 4.添加selinux规则,改变要挂载的目录的安全性文本。

欢迎访问我的个人博客:Lemon - 万事顺遂

相关标签: 容器 linux