unshare: unshare 失败: 无效的参数

unshare是干嘛的?
在这里插入图片描述
简单说就是用来运行程序的,它允许程序不共享主进程的一些namespace,而namespace主要用来隔离进程的,当前大火的容器技术就是使用了namespace。

运行下面的命令
unshare --user --pid --map-root-user --mount-proc --fork bash

这就类似于你运行了一个容器了,docker exec -it <image> /bin/bash

不出问题的话,你应该就进入一个单独的执行环境了,user,pid这些都是独立于主进程的
在这里插入图片描述
好巧不巧,偏偏它出问题了:
unshare: unshare 失败: 无效的参数

怎么搞?
1、首先看你的内核是否支持这些namespace,使用命令ls -l /proc/$$/ns在这里插入图片描述
2、max_user_namespaces文件记录了允许创建的user namespace数量,有的系统默认是0,盘它
echo 2147483647 > /proc/sys/user/max_user_namespaces

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值