我有一个 Qt 项目,它使用一个插件接口,可以在我的系统上正常编译。然而,当在 docker 内编译同一个项目时,它停止使用 Qt 5.10.1,并给出消息Error: Undefined interface
。经过一些strace
ing the moc
运行,结果发现没有找到定义接口的头文件,因为statx
对包含文件路径的调用始终返回EPERM
。该文档甚至没有提到如何生成此错误。
docker run --privileged
修复了这个问题,但我想避免过多的权限,所以我想只设置必要的权限。
到目前为止,我尝试添加所有这些功能(即使是同时),但没有成功:
- CAP_DAC_OVERRIDE
- CAP_DAC_READ_SEARCH
- CAP_FOWNER
- CAP_SETFCAP
我在这里错过了什么吗?
UPDATE
A 拉取请求因为这尚待解决。
2018-03-06之前
statx
不包含在default seccomp白名单目前已被 Docker 使用。
您可以使用--security-opt seccomp=/path/to/seccomp/profile.json
指定不同的配置文件(大概是添加了此系统调用的配置文件)。
2018-03-06之后
moby/moby#36417 was 合并到master截至 2018 年 3 月 6 日。
它应该包含在未来的夜间构建中,并最终包含在 Docker 18.04 版本中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)