我已检查过容器和主机上的/proc/sys/kernel/yama/ptrace_scope
- 两者都将值报告为零但是当附加到pid时,一个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,其寄存器来自他们的存储库,容器是官方centos6.8
答案 0 :(得分:37)
我发现了答案 - 容器需要以strace功能启动
将此添加到我的docker-compose.yml文件允许GDB工作
cap_add:
- SYS_PTRACE
或者也可以使用--cap-add=SYS_PTRACE