是否可以为特定的 Docker 容器禁用 AppArmor?我想让 ptrace 可访问,以便我可以将 gdb 附加到正在运行的进程,但是当我想更改设置时遇到以下问题:
root@fbf728150308:/gopath# echo 0 > /proc/sys/kernel/yama/ptrace_scope
bash: /proc/sys/kernel/yama/ptrace_scope: Read-only file system
AppArmor 可以通过运行 unconfined 或作为特权容器来禁用:
--security-opt apparmor=unconfined
(或apparmor:unconfined
适用于 docker 1.10 及以下版本)--privileged
但是,更好的选择是创建一个启用 ptrace 的新配置文件。您可以使用 docker AppArmor 配置文件作为起点(在 中找到/etc/apparmor.d/docker
),然后附加ptrace peer=@{profile_name}
.
您还需要禁用 seccomp(除非使用privileged
),通过--security-opt seccomp=unconfined