要使用 SGX 飞地,应用程序必须与通过/dev/isgx
主机公开的 SGX 驱动程序通信。我们使用命令行选项在 Docker 容器映射/dev/isgx
内部执行此类应用程序。--device
是否可以选择将设备(/dev/isgx
在这种情况下)添加到由 docker 引擎启动的任何容器中?
编辑:
到目前为止,我这边的进展:
Docker 在启动之前使用containerd
&runc
来创建容器配置。Docker 的配置文件 /etc/docker/daemon.json
有一个字段runtimes
,可以在其中提供任意参数runc
:
[...]
"runtimes": {
"runc": {
"path": "runc"
},
"custom": {
"path": "/usr/local/bin/my-runc-replacement",
"runtimeArgs": [
"--debug"
]
}
},
[...]
可悲的是,它接缝runc
并没有消耗很多有用的论据,因为我的手段(runc --help
并且runc spec --help
<-- 创建了配置)。
我在的代码库中发现了有趣的源代码。该文件的最后一次提交说“默认情况下不创建 /dev/fuse”,这是有希望的,但会涉及构建我自己的. 我希望通过配置选项提供通用解决方案。DefaultSimpleDevices
DefaultAllowedDevices
runc
runc