我正在使用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
关于如何解决这个问题的任何想法?
答案 0 :(得分:0)
只要Docker本身具有正确的权限,您就可以在docker容器中执行任何操作(如卷装入)。您应该使用以下命令执行容器:
docker exec -it -u 0 Container_NAME / bin / bash
然后执行py.test,我只是希望你没有对py.test中的某个用户做过 -
答案 1 :(得分:0)
这可能是由于该目录中的文件上下文,尝试将其更改为沙盒'文件:
chcon -Rt svirt_sandbox_file_t /foo/bar/
答案 2 :(得分:0)
遇到同样的问题并通过在我的Dockerfile中添加chmod -R 777
来修复它(在你的测试包的根文件夹中调整777到你的权限,但你需要读/写)(foo / bar /在你的案件)。我使它递归,因为我也在我的子文件夹中运行我的测试覆盖率。