6月10号docker 1.0稳定版本发布,找了台ubuntu的机器,装了下
ubuntu version:12.04
docker version:1.0.0
装docker的步骤可以看官方文档:https://docs.docker.com/installation/ubuntulinux/
装好之后,运行docker -d尝试启动docker守护进程,报错如下:
[0fcb4ed6] +job serveapi(tcp://127.0.0.1:2375) [0fcb4ed6] +job initserver() [0fcb4ed6.initserver()] Creating server 2014/06/11 04:41:46 Listening for HTTP on tcp (127.0.0.1:2375) [0fcb4ed6] +job init_networkdriver() [0fcb4ed6] -job init_networkdriver() = OK (0) Error loading docker apparmor profile: exec: "/sbin/apparmor_parser": stat /sbin/apparmor_parser: no such file or directory () [0fcb4ed6] -job initserver() = ERR (1) 2014/06/11 04:41:46 Error loading docker apparmor profile: exec: "/sbin/apparmor_parser": stat /sbin/apparmor_parser: no such file or directory ()
在github上,前段时间有人也遇到这个问题:
https://github.com/dotcloud/docker/issues/4734
https://github.com/dotcloud/docker/issues/5114
发现docker本可以不依赖apparmor_parser,于是试图改这个文件/sys/module/apparmor/parameters/enabled
把原先的Y 改成 N,注意这个文件默认是read-only
所以先chmod 6 /sys/module/apparmor/parameters/enabled 然后 echo N > /sys/module/apparmor/parameters/enabled 最后再 chmod 4 /sys/module/apparmor/parameters/enabled
然后启动docker -d &
一切正常
更新:发现改了之后,运行一段时间后,apparmor的enabled文件又被改回Y。
ubuntu下用apparmor_status查看apparmor状态,发现居然没有装。所以运行以下命令安装下即可解决以上bug。
sudo apt-get install apparmor
AppArmor 主要的作用是设置某个可执行程序的访问控制权限http://blog.csdn.net/ustc_dylan/article/details/7944955
后记:不知这个apprmor_parser的问题这么解决是否有问题,还是会带来其他影响,有了解的读者可以直接评论博文,3ks。