话不多说,先上答案:在运行容器的时候,使用参数--cap-add sys_ptrace
,比如:
docker run --cap-add sys_ptrace homqyy/example_http
由于docker运行的容器默认是将“追踪”能力给关掉的,因此我们需要手动的打开。关于“追踪”能力的原文如下所示:
capabilities(7) — Linux manual page CAP_SYS_PTRACE * Trace arbitrary processes using ptrace(2); * apply get_robust_list(2) to arbitrary processes; * transfer data to or from the memory of arbitrary processes using process_vm_readv(2) and process_vm_writev(2); * inspect processes using kcmp(2).
docker除了提供系力度的能力控制(--cap-add
和--cap-del
)外,还提供了一个能力全开放的选项“--privileged
”,因此我们可以如此排查:
--cap-add
来开启必须的能力即可(不推荐大家直接使用--privileged
的原因是,不安全)。扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有