これが私のものDockerfile
です:
FROM ubuntu:14.04
RUN apt-get update
RUN apt-get install -y software-properties-common
RUN apt-get install -y python-software-properties
RUN add-apt-repository ppa:chris-lea/node.js
RUN apt-get update
RUN apt-get install -y nodejs
RUN apt-get install -y apparmor-profiles
RUN apt-get install -y apparmor-utils
ADD server.js /folder1/
ADD usr.bin.nodejs /etc/apparmor.d/
RUN service apparmor reload
CMD node /folder1/server.js
ここにあるusr.bin.nodejs
:
#include <tunables/global>
/usr/bin/nodejs {
#include <abstractions/base>
/usr/bin/nodejs mr,
/folder1/server.js r,
/folder1/repo/** ralkmix,
network,
}
sudo docker build -t scadge/test-one .
私はこのイメージを構築するために走ります。オンStep 7 : RUN apt-get install -y apparmor-profiles
にすると、赤いメッセージinvoke-rc.d: policy-rc.d denied execution of start
とinvoke-rc.d: policy-rc.d denied execution of reload
. またStep 11 : RUN service apparmor reload
、次のようになります。
* Reloading AppArmor profiles
* Mounting securityfs on /sys/kernel/security...
mount: permission denied
...fail!
...fail!
..そして、apparmor プロファイルが機能していないことを確認してください。では、Docker で AppArmor を機能させるにはどうすればよいでしょうか? また、公式サイトからダウンロードした私のデスクトップ Ubuntu 14.04 でも、これらすべてが正常に動作することを認めたいと思います。