SELinux開啓會導致Docker daemon不能啓動

   最近發現服務器在重啓後docker服務起不來了,執行例如docker images,docker ps之類的docker命令被報錯:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

開始看到這個錯誤懵了,沒修改過docker方面的什麼東西,怎麼就重啓一下後docker daemon就不行了起不來了呢?都有了刪掉docker重裝的念頭,但是轉頭一想我沒改過docker什麼東西呀,有問題估計也是Ubuntu本身有了什麼變化吧,於是着重看Ubuntu的初始化,最後一次還真找到了原因,在/etc/default/grub裏發現GRUB_CMDLINUX_DEFAULT的字符串裏splash後面被加上了 security=selinux selinux=1 

這玩意是在打開selinux啊,splash後面一般都沒有這個參數的,就猜測可能跟這裏打開了selinux有關,於是zhushi註釋掉GRUB_CMDLINUX_DEFAULT這行後重新寫了GRUB_CMDLINUX_DEFAULT="quiet splash",然後執行

    sudo update-grub

    再重啓Ubuntu,然後執行docker命令發現沒錯了 docker ps都輸出了正確的結果,爲了確認是這裏起作用,又把grub文件像上面圖中那樣改回去再執行sudo update-grub再重啓,然後執行docker ps命令又報上面的Cannot connect to the Docker daemon的錯了,這就說明確實是selinux被打開後導致docker服務起不來了!

    至於grub爲何被突然加入了打開selinux的參數,尚不確定服務器是被人修改過還是因爲更新了軟件(比如內核更新)引起的,因爲多人都可以訪問服務器。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章