是否可以禁用特定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可以通过无限制运行或作为特权容器禁用:
--security-opt apparmor=unconfined
(或适用于docker 1.10及以下版本的apparmor:unconfined
)--privileged
然而,更好的选择是创建一个启用ptrace的新配置文件。您可以使用docker AppArmor配置文件作为起点(在/etc/apparmor.d/docker
中找到),并附加ptrace peer=@{profile_name}
。
您还需要通过--security-opt seccomp=unconfined
禁用seccomp(除非使用privileged
)