我正在尝试将挂载 /proc 或 /dev 从主机绑定到 ubuntu 16.04 上的 linux 容器,但出现不允许操作错误。
我使用runc作为我的容器运行时,这里是 runc config.json 中的挂载部分。
{
"destination": "/test-proc",
"options": [
"rbind",
"ro"
],
"source": "/proc",
"type": "bind"
},
我同时打开了 pid 命名空间、用户命名空间和挂载命名空间。
这是 strace 输出:
22435 安装(“/proc”,“/sompath/test-proc”,0xc42001be56,MS_RDONLY|MS_BIND|MS_REC,NULL)= 0
22435 mount("/proc", "/somepath/test-proc", 0xc42001be66, MS_RDONLY|MS_REMOUNT|MS_BIND|MS_REC, NULL) = -1 EPERM (不允许操作)
此问题仅发生在 Ubuntu 上,而不会发生在其他 linux 发行版上,例如 Alinux 或 Raspbian。
有谁知道可能导致这种情况的原因是什么?