docker 修改掛載文件 Permission denied


場景介紹:

docker 的啟動命令:

docker run -d --name odoo12-test1 --privileged=true -v /root/workspace/trans-addons/:/mnt/extra-addons  --link db:db odoo

# 以上命令執行完成:
root@VM-0-13-ubuntu:~# docker exec -it odoo12-test1 bash
odoo@94b197669698:/$ cd /mnt/extra-addons/
odoo@94b197669698:/mnt/extra-addons$ touch test.bak
touch: cannot touch 'test.bak': Permission denied

案例說明:

  1. 設置主機與容器的文件映射關系/root/workspace/trans-addons/:/mnt/extra-addons,trans-addons為主機目錄,extra-addons為容器中的目錄
  2. 使用odoo 用戶進入docker 容器,並嘗試創建一個test.bak 文件時,就會提示Permission denied 錯誤,因為目前odoo 用戶對extra-addons只有查看權限

解決辦法:

  1. 使用root 用戶進入容器
docker exec -it -u root odoo12-test1 bash
  1. 修改文件夾的所有者:
chown -hR odoo extra-addons/
  1. 現在重新使用odoo用戶進入容器,對文件夾中的內容進行修改,就不會出現權限拒絕了.

驗證:

  1. 回到主機目錄,可以查看文件的所有者已變更:
  2. 之前的所有者是root:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM