无法在容器上应用AppArmor配置文件:“无此文件或目录”

时间:2019-01-30 07:52:01

标签: docker containers apparmor

我正在尝试应用以下简单的AppArmor配置文件:

#include <tunables/global>

profile docker-profile flags=(attach_disconnected,mediate_deleted) {
  #include <abstractions/base>
  #network,
  #capability,
  #file,
  #umount,
  #ptrace,
  #mount,
  pivot_root,
}

运行docker run -it --rm --security-opt apparmor=docker-profile alpine时出现以下错误:

  

docker:来自守护程序的错误响应:无效的头字段值“ oci   运行时错误:container_linux.go:247:启动容器进程   引起了“ process_linux.go:359:容器初始化引起了\ appappor   无法应用配置文件:没有这样的文件或目录\\“ \” \ n“。

我尝试重新安装它(基于建议here):

rm -rf /etc/apparmor*
apt install apparmor --reinstall
service apparmor restart
service docker restart

它没有帮助,我仍然遇到相同的错误。

任何建议是什么原因以及如何解决?

2 个答案:

答案 0 :(得分:0)

我需要通过运行apparmor_parser -r -W docker.profile来注册配置文件。

更多信息可以在这里找到:
https://docs.docker.com/engine/security/apparmor/

答案 1 :(得分:0)

sudo apt-get purge apparmor sudo apt-get purge apparmor-profiles sudo apt-get purge apparmor-utils

sudo apt-get install apparmor-utils sudo apt install apparmor-profiles apparmor-profiles-extra vim-addon-manager

重启