docker container中的gdb返回" ptrace:不允许操作。"

时间:2017-02-03 17:29:15

标签: c++ docker centos gdb fedora

我已检查过容器和主机上的/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

1 个答案:

答案 0 :(得分:37)

我发现了答案 - 容器需要以strace功能启动

将此添加到我的docker-compose.yml文件允许GDB工作

cap_add:
    - SYS_PTRACE

或者也可以使用--cap-add=SYS_PTRACE

在docker命令行上传递它