J'ai vérifié /proc/sys/kernel/yama/ptrace_scope
dans le conteneur et sur l'hôte - les deux rapportent la valeur à zéro, mais lorsqu'ils sont attachés aux rapports pid one 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.
J'ai également essayé d'attacher au conteneur avec le drapeau privilégié
docker exec --privileged -it mywebproxy_my-proxy_1 /bin/bash
Le système d'exploitation hôte est Fedora 25 avec docker à partir de leurs dépôts et le conteneur est un centos6.8 officiel
J'ai découvert la réponse - le conteneur doit être démarré avec des capacités strace
L'ajout de cela à mon fichier docker-compose.yml permet à GDB de fonctionner
cap_add:
- SYS_PTRACE
Ou il peut également être passé sur la ligne de commande du docker avec --cap-add=SYS_PTRACE