坑(十八)—— 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