我有一个Qt项目,它使用一个插件接口,可以很好地编译我的系统。但是,当在docker中编译同一个项目时,它停止使用Qt 5.10.1,给出messageError: Undefined interface
。经过一些strace
ing moc
运行之后,结果发现找不到定义接口的头文件,因为对include的文件路径的statx
调用总是返回EPERM
。文档甚至没有提到如何生成此错误。
docker run --privileged
修复了这个问题,但我想避免过多的权限,所以我只想设置必要的权限。
到目前为止,我试图添加所有这些功能(即使在同一时间)但没有成功:
我在这里错过了什么吗?
UPDATE
一个pull request正在等待。
statx
不包括在Docker目前使用的default seccomp
whitelist中。
您可以使用--security-opt seccomp=/path/to/seccomp/profile.json
指定不同的配置文件(可能是添加了此系统调用的配置文件)。
moby/moby#36417
是2018年3月6日的merged to master。
它应该包含在未来的夜间构建中,并最终在Docker 18.04版本中。