CentOS7 docker服務無法啟動解決方案
檢查步驟
啟動docker服務:
1
|
systemctl restart docker |
這個時候會報錯,請進行以下步驟:
1. 找到報錯的類型,或者報錯的說明。
2. 檢查docker的配置文件
3. 檢查磁盤空間
4. 檢查端口占用情況
步驟詳解
檢查報錯類型,查看日志:
1
|
journalctl -xe |
檢查配置文件,不同操作系統位置基本相同:
1
|
/etc/sysconfig/docker/ |
或者直接找到docker運行程序,一般會有相關配置文件的默認路徑
檢查磁盤空間:
1
|
df -h |
檢查端口占用:
1
|
netstat -anp |
實例
報錯信息如下:
1
2
3
4
5
6
7
8
9
10
|
-- Unit docker.service has begun starting up. Dec 04 21:17:46 localhost.localdomain docker[7175]: time = "2016-12-04T21:17:46.093155159+08:00" level=warning msg= "/!\\ DON'T BIND ON ANY IP ADDRESS WITHOUT setting -tlsverify IF YOU DON'T KNOW WHAT YOU'RE DOING /!\\" Dec 04 21:17:46 localhost.localdomain docker[7175]: time = "2016-12-04T21:17:46.093322868+08:00" level=fatal msg= "listen tcp 172.17.0.1:2376: bind: cannot assign requested address" Dec 04 21:17:46 localhost.localdomain systemd[1]: docker.service: main process exited, code=exited, status=1 /FAILURE Dec 04 21:17:46 localhost.localdomain systemd[1]: Failed to start 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. |
解決方案:
上一篇文章已經說過了簡單暴力的解決方案,就是清理/var/lib/docker這個目錄,重置設置。
然而,并不清楚具體原因。今天服務器有斷電了,服務還是報錯。說明了一點,簡單暴力的手段并不是好的解決方案,治標不治本。這里重新分析了先問題:
可以看到fatal msg”listen tcp 172.17.0.1:2376: bind: cannot assign requested address“,說的是綁定了一個端口,但是這個地址和端口又不能分配。
上一行大意“你要是不懂,就別瞎綁定端口”,囧。。
找了很久沒有在/var/lib/docker的目錄下找到關于2376端口bind的配置,思量半天,突然感覺是程序啟動的配置文件,最后在/etc/sysconfig/docker目錄下找到了。額,這個是之前為了實現一個跟jenkins相關的功能綁定的,并不是瞎邦的。暫時注釋掉bind設置的這行,重啟服務。ok~
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
原文鏈接:http://blog.csdn.net/counsellor/article/details/53456663