c++ docker centos gdb fedora

c++ - gdb en el contenedor de la ventana acoplable devuelve "ptrace: operación no permitida".



docker centos (1)

Descubrí la respuesta: el contenedor debe iniciarse con capacidades strace

Agregar esto a mi archivo docker-compose.yml permite que GDB funcione

cap_add: - SYS_PTRACE

O también se puede pasar en la línea de comandos de la --cap-add=SYS_PTRACE acoplable con --cap-add=SYS_PTRACE

He comprobado /proc/sys/kernel/yama/ptrace_scope en el contenedor y en el host - ambos reportan el valor como cero pero cuando se adjuntan a pid one gdb reports

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.

También he intentado adjuntar al contenedor con la bandera privilegiada

docker exec --privileged -it mywebproxy_my-proxy_1 /bin/bash

El sistema operativo host es Fedora 25 con docker de sus repos y el contenedor es un centos6.8 oficial