Golang | unix.setns(FD,CLONE_NEWNS) 因“参数无效”而失败

问题描述 投票:0回答:1

我正在尝试使用“unix.setns”将安装命名空间从容器切换到主机,就像“nsenter”命令所做的那样。 我的代码如下

const (
   CLONE_NEWNS   = 0x20000      /* New mount namespace */
)
nsMNTFD, err := unix.Open("/proc/1/ns/mnt", unix.O_RDONLY|unix.O_CLOEXEC, 0) 
err = unix.Setns(nsMNTFD, CLONE_NEWNS)

但它总是报告“无效参数”。其他命名空间(如 net/ipd)工作正常。知道如何解决此错误或进一步调试吗?预先感谢!

go unix namespaces containers
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.