如果我在运行于docker镜像的ubuntu 14.0.4上运行fuser -n tcp 80
,我会得到:
Cannot stat file /proc/25/fd/0: Permission denied
Cannot stat file /proc/25/fd/1: Permission denied
Cannot stat file /proc/25/fd/2: Permission denied
Cannot stat file /proc/25/fd/3: Permission denied
Cannot stat file /proc/25/fd/4: Permission denied
Cannot stat file /proc/25/fd/5: Permission denied
etc.
80/tcp: 24
如果我运行whoami
,则返回root。
为什么我不能运行此命令?
答案 0 :(得分:5)
那应该是因为AppArmor。
它是基于名称的访问控制的Linux安全模块实现。 AppArmor将各个程序限制为一组列出的文件和posix 1003.1e草稿功能。
您可以在issue 7276或issue 6800中看到各种解决方法。
docker run -itd --cap-add=SYS_PTRACE --security-opt=apparmor:unconfined mytomcat7image