簡體   English   中英

在docker中已裝入卷中的權限被拒絕

[英]Permission denied in mounted volume in docker

我正在使用docker-compose從Docker容器中的本地主機上安裝一個卷(添加了volumes條目id docker-compose.yml)

這很好用,但是當我嘗試運行py.test時,我得到權限錯誤:

OSError: [Errno 13] Permission denied: '/foo/bar/.coverage'

此外,當我嘗試創建.coverage目錄時,我登錄到容器,我得到:

mkdir .coverage
mkdir: cannot create directory '.coverage': Permission denied

關於如何解決這個問題的任何想法?

只要Docker本身具有正確的權限,您就可以在docker容器中執行任何操作(如卷裝入)。 您應該使用以下內容執行容器:

docker exec -it -u 0 Container_NAME / bin / bash

然后執行py.test,我只希望你沒有對py.test中的某個用戶做su

這可能是由於該目錄上的文件上下文,嘗試將其更改為“沙盒”文件:

chcon -Rt svirt_sandbox_file_t /foo/bar/

得到了同樣的問題並通過在我的Dockerfile中添加chmod -R 777來修復它(在您的測試包的根文件夾中調整777到你的權限,但你需要讀/寫)(在你的情況下為foo / bar /)。 我使它遞歸,因為我也在我的子文件夾中運行我的測試覆蓋率。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM