我有一个在Linux上运行的Docker Swarm应用程序。我需要附加调试器(gdb),但是我遇到了错误:
ptrace: Operation not permitted.
研究让我使用“cap_add”,但这在Swarm应用中不允许。
https://docs.docker.com/compose/compose-file/#cap_add-cap_drop
我了解到我可以使用cap_add手动启动容器并进行调试,但我更希望在不停止应用程序的情况下进行调试。cap_add, cap_drop
Add or drop container capabilities. See man 7 capabilities for a full list.
cap_add: - ALL
cap_drop: - NET_ADMIN - SYS_ADMIN
Note: These options are ignored when deploying a stack in swarm mode with a (version 3) Compose file.
是否有一种方法将能力(特别是SYS_PTRACE)添加到Swarm部署的应用程序中,以便调试器正常工作?