如何在docker容器

时间:2015-06-05 15:51:14

标签: docker apparmor

环顾四周,我发现我可以使用

docker run --privileged --rm -i -t app /bin/bash

这也为任何用户拥有的所有进程提供了访问所有ptrace功能的权限。不幸的是,我不想让其他人拥有这种能力。 所以我找了apparmor,发现我可以使用

ptrace peer=@{profile_name} 

在我的aparmor配置文件中,然后在运行应用程序时包含该配置文件。

docker run --security-opt="apparmor:myprofile" --rm -i -t app /bin/bash

一切都很好。然后我使用fuser(作为root)并按预期我可以看到root拥有的进程。但是我在uucp下运行了几个进程,这使得权限被拒绝。

所以我转向uucp下的bash。

sudo -u uucp /bin/bash

但是使用fuser或lsof不起作用并且什么都不返回。

那么当我在Docker dontainer中作为所述用户活动时,如何为任何用户激活ptrace?

1 个答案:

答案 0 :(得分:0)

看起来这个(https://github.com/docker/docker/pull/15161)的修复程序在2015-07-30被合并为master,并且包含在Docker v1.8.0及更高版本中。这应该不再是最近版本的Docker和附带的AppArmor配置文件的问题。