坑(十八)—— docker启动容器时挂载没有权限问题


docker启动容器时挂载没有权限问题

复现

centos 7系统

docker run ......

出现一下错误:

docker chown: changing ownership of '/var/lib/XXX': Permission denied

 

原因

Centos7安全Selinux禁止了一些安全权限,导致mysql和mariadb在进行挂载/var/lib/mysql的时候会出现没有权限的问题

 

解决方法

有三种方式:

  • 在docker run中加入 --privileged=true 给容器加上特定权限

    • container内的root只是外部的一个普通用户权限
    • --privileged=true使container内的root拥有真正的root权限
  • 关闭selinux

    • 查看SELinux状态

      • /usr/sbin/sestatus -v :如果SELinux status参数为enabled即为开启状态
      • getenforce :也可以用这个命令检查
    • 临时关闭(不用重启机器):

      • setenforce 0
    • 永久关闭(需要重启机器)

      • 修改/etc/selinux/config 文件

      • SELINUX=enforcing改为SELINUX=disabled

  • 在selinux添加规则,修改挂载目录


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM