凉城旧巷
Python从入门到自闭,Java从自闭到放弃,数据库从删库到跑路,Linux从rm -rf到完犊子!!!

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添加规则,修改挂载目录

posted on 2021-04-13 19:52  凉城旧巷  阅读(1378)  评论(0编辑  收藏  举报