[Linux]CentOS 7 docker掛載資料夾會出現 Permission Denied
@ GordonWei · Wednesday, Sep 30, 2020 · 1 minute read · Update at Sep 30, 2020

最近在研究 Linux ServiceCentOS7上跑docker, 理論上只要寫好 docker-compose 跟一些設定檔即可.

但最後在跑的時候總是會出現要掛載的 **volume**會出現 Permission Denied (即便是把檔案屬性設定為777…)

最後繞了一圈發現, 這是在有 **SELinux**的作業系統環境下會出現的(RHEL, CentOS以及Fedora)

解決方式有二

  • A方案 : 下 chcon 指令增加權限

chcon -Rt svirt_sandbox_file_t /your/conf/file

有關於 **chcon**的說明可看此份文件

  • B方案 : 直接在compose檔案中新增 :Z 讓docker自動處理

volumes:
    - ./conf/some-conf:/etc/service/service.conf:Z

直接在最後面加上:Z再去跑即可

其實在 man docker run 底下(很下面)也會看到, 只是很少會去看(誤)

Mounting External Volumes
       To mount a host directory as a container volume, specify the absolute path to the directory and the absolute path for the container directory separated by a
       colon:

              # docker run -v /var/db:/data1 -i -t fedora bash

       When using SELinux, be aware that the host has no knowledge of container SELinux policy. Therefore, in the above example, if SELinux policy is enforced, the
       /var/db directory is not writable to the container. A "Permission Denied" message will occur and an avc: message in the host's syslog.

       To work around this, at time of writing this man page, the following command needs to be run in order for the proper SELinux policy type label to be attached to
       the host directory:

              # chcon -Rt svirt_sandbox_file_t /var/db

       Now, writing to the /data1 volume in the container will be allowed and the changes will also be reflected on the host in /var/db.

Ref-Project Atomic

comments powered by Disqus

GordonWei's blog

4g-dongle 4g-lte 518 active-directory activity ad alcatel always-free amd-apu apache arm associate aws aws-cdk aws-certified aws-cli aws-efs aws-lex aws-nuke aws-s3 aws-saa aws-security aws-ssm aws-sso bind bind-view blog brew build-image catalina centos-7 centos7 cfn-flip change-swap chatbot clean-cache clean-resources cloudfront cups deeplearning delete-sns developer directory-service dlink-dcs930l docker docker-compose docker-error domain dvac01 ec2 ec2-mount-efs ec2-ssm error export-ovf fail2ban fat32-to-ntfs freeradius gcloud gcp gcp-change-account git git-error github github-error google-adsens google-cloud-platform grub hh41 homebridge homekit homekit-ui http https huawei-e3372 hugo hugo-blog hugo-post ios ios-run-python iphone-backup ipv6-apt iso-to-usb job-bank json json-dumps keras lambda latin ldap ldap3 letsencrypt likecoin linux linux-vnc lte-dongle mac mac-backup mail-server mi-home migration ms-ad multiple-account mysql mysql-error mysql-federated netapp npm npm-upgrade ntfs ntp-server oai on-premise openvpn openwebmail oracle-cloud orange-pi peering permission-deny pip-error pip-install printer python python-access-ad python-ftp python2 python3 radius radius-mysql radius3.0 raspberry-pi raspberry-pi-zero reset-password resize-img resize-sd-partition root router rpi-camera s3 s3-error s3-policy samba samba-error scs-c01 security selinux session-manage sns solution-architect-associate ssl ssm sysops system-manager systems-manager table-sync time-machine time_wait timezone tls typeerror ubuntu ubuntu-18.04 ubuntu16.04 uniout update-error usb usb-install vmware-player volume-lock vpc vpn vpn-server web-server win10 windows xiaomi yaml zimbra 廣告 永久免費 無法更新索引 燒光碟 自動搶 阿爾卡特
aws
gcp
iot
mac
oci

© 2020 GordonWei's Blog

Powered by Hugo with theme Dream.

Experience

2020 - Now / 趣遊科技 - 資深SRE工程師

2019 - 2020 / 104人力銀行 - DevOps 工程師

2018 - 2019 / 104人力銀行 - Net 工程師

2016 - 2018 / 全林實業股份有限公司 - 系統部協理

2015 – 2016 / 恩據優資訊工作室 – 負責人

2014 – 2015 / 安盟科技股份有限公司 – 資深IT工程師

2013 – 2014 / 上海鷺豐農業科技有限公司 – 系統工程師

2010 – 2012 / 104 人力銀行 – 維護工程師

2008 - 2009 / 典匠資訊 – MIS

Projects

  • 2019/09 - now 104人力銀行 - AWS Account 回收暨IaC專案
  • 2018/10 - 2018/12 104人力銀行 - DR Site 協助建置
  • 2018/03 - 2018/05 全林實業 - 工研院人臉辨識與使用者行為分析專案
  • 2018/04 - 2018/05 全林實業 - 嘉義公車站無線網路專案
  • 2017/06 - 2018/05 全林實業 - 新加坡無線網路專案
  • 2017/05 - 2018/05 全林實業 - 捷運無線網路專案
  • 2017/01 - 2017/04 全林實業 - 弋楊科技遊覽車專案
  • 2016/12 - 2017/04 全林實業 - 亞太好行網重構、建置
  • 2016/12 - 2017/02 全林實業 - 愛巴士無線網路專案
  • 2016/11 - 2017/01 全林實業 - 泰國Free AD Wifi專案
  • 2016/10 - 2016/12 全林實業 - 桃園客運無線網路專案
  • 2016/09 - 2016/12 全林實業 - 怡客咖啡廳無線網路專案
  • 2016/07 - 2017/07 全林實業 - 主要系統規劃、重構與建置
  • 2014/09 - 2015/04 安盟科技 - 機房架構規劃rebuild / CRM系統開發客製
  • 2013/07 – 2014/07 上海鷺豐農業科技 - 研發農業環境監控系統(Arduino)
  • 2011/11 – 2012/06 104人力銀行 - 協助導入虛擬化技術專案 (Citrix Xen Server、Desktop)

About

GordonWei

小弟是一位沒錢又沒閒的普通人, 只能靠自學以及不斷的實作來吸取經驗。

希望可以把自己的經驗留存下來,讓彼此的能力更進一步!!

認證