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。