docker容器中的gdb返回“ptrace:不允许操作”。
我在容器和主机上检查了/proc/sys/kernel/yama/ptrace_scope
– 都报告值为零,但是当连接到一个gdb报告
Reading symbols from /opt/my-web-proxy/bin/my-web-proxy...done. Attaching to program: /opt/my-web-proxy/bin/my-web-proxy, process 1 ptrace: Operation not permitted.
我也尝试附加到具有特权标志的容器
docker exec --privileged -it mywebproxy_my-proxy_1 /bin/bash
主机操作系统是Fedora 25与docker从他们的回购和容器是官方centos6.8
我发现答案 – 容器需要以stracefunction开始
将此添加到我的docker-compose.yml文件允许GDB工作
cap_add: - SYS_PTRACE
或者也可以通过--cap-add=SYS_PTRACE
在--cap-add=SYS_PTRACE
命令行上--cap-add=SYS_PTRACE