当我在容器中尝试网络实验并执行以下命令时:
bash-4.4# ./blade c network loss --interface eth0 --percent 30 --timeout 100
{"code":604,"success":false,"error":"RTNETLINK answers: Operation not permitted\n exit status 2 exit status 1"}
然后我进入根模式并重试:
bash-4.4# su - root a578b557a080:~# cd /usr/local/chaosblade/ a578b557a080:/usr/local/chaosblade# ./blade c network loss --interface eth0 --percent 30 --timeout 100 {"code":604,"success":false,"error":"RTNETLINK answers: Operation not permitted\n exit status 2 exit status 1"}
就报错了。
期待结果:成功执行命令,获取网络包丢失案例。
如何复制(尽可能少且精确)
1、 docker run-it registry.cn-hangzhou.aliyuncs.com/chaosblad/chaosblade演示
2、 ./blade c网络丢失--接口eth0--百分比30--超时100
3、 苏根
4、 cd/usr/local/chaosblade/
5、 ./bladec网络丢失--接口eth0--百分比30--超时100
环境信息
Docker 18.09 CentOS 7
原提问者GitHub用户hechuan73
导致此问题的原因是容器权限不足。您需要在启动时添加--privaged或--cap-add=NET_ADMIN参数。我稍后会修改文档,谢谢。
原回答者GitHub用户xcaspar
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。