Centos docker服務啟動失敗 A dependency job for docker.service failed


在Centos上安裝docker后需要手動啟動docker服務,但是啟動時報如下錯誤

$ systemctl enable docker  && systemctl start docker
A dependency job for docker.service failed. See 'journalctl -xe' for details.

執行 journalctl -xe后結果如下

$ journalctl -xe
1月 24 02:25:45 localhost.localdomain yum[18753]: 2:postfix-2.10.1-7.el7.x86_64: 100
1月 24 02:25:45 localhost.localdomain yum[18753]: fontconfig-2.13.0-4.3.el7.x86_64: 100
1月 24 02:26:12 localhost.localdomain polkitd[6691]: Registered Authentication Agent for unix-process:18768:232871247 (system bus na
1月 24 02:26:12 localhost.localdomain systemd[1]: Reloading.
1月 24 02:26:12 localhost.localdomain polkitd[6691]: Unregistered Authentication Agent for unix-process:18768:232871247 (system bus 
1月 24 02:26:12 localhost.localdomain polkitd[6691]: Registered Authentication Agent for unix-process:18787:232871256 (system bus na
1月 24 02:26:12 localhost.localdomain systemd[1]: Starting Docker Socket for the API.
-- Subject: Unit docker.socket has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit docker.socket has begun starting up.
1月 24 02:26:12 localhost.localdomain systemd[18793]: Failed to chown socket at step GROUP: No such process
1月 24 02:26:12 localhost.localdomain systemd[1]: docker.socket control process exited, code=exited status=216
1月 24 02:26:12 localhost.localdomain systemd[1]: Failed to listen on Docker Socket for the API.
-- Subject: Unit docker.socket has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit docker.socket has failed.
-- 
-- The result is failed.
1月 24 02:26:12 localhost.localdomain systemd[1]: Dependency failed for Docker Application Container Engine.
-- Subject: Unit docker.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit docker.service has failed.
-- 
-- The result is dependency.
1月 24 02:26:12 localhost.localdomain systemd[1]: Job docker.service/start failed with result 'dependency'.
1月 24 02:26:12 localhost.localdomain systemd[1]: Unit docker.socket entered failed state.
1月 24 02:26:12 localhost.localdomain polkitd[6691]: Unregistered Authentication Agent for unix-process:18787:232871256 (system bus 

解決方案:添加docker組

$ groupadd docker
groupadd:無法打開 /etc/group

這里涉及到一個知識點就是文件隱藏屬性,使用lsattr查看文件隱藏屬性

$ lsattr /etc/group
----i--------e-- /etc/group
$ lsattr lsattr /etc/gshadow
----i--------e-- /etc/gshadow

這里的i屬性表示文件不能被刪除、改名,也不能寫入或添加數據,所以需要先去掉i屬性

$ chattr -i /etc/gshadow
$ chattr -i /etc/group

然后添加docker組,並啟動docker服務,systemctl enable docker是為了設置開機啟動docker服務

$ groupadd docker
$ systemctl enable docker  && systemctl start docker

做過基線的同學應該知道,為了安全起見,最好還是把i屬性加回來

$ chattr +i /etc/gshadow
$ chattr +i /etc/group

參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM