CentOS7 docker服务无法启动解决方案及实现步骤
CentOS7 docker服务无法启动解决方案
检查步骤
启动docker服务:
systemctlrestartdocker
这个时候会报错,请进行以下步骤:
1.找到报错的类型,或者报错的说明。
2.检查docker的配置文件
3.检查磁盘空间
4.检查端口占用情况
步骤详解
检查报错类型,查看日志:
journalctl-xe
检查配置文件,不同操作系统位置基本相同:
/etc/sysconfig/docker/
或者直接找到docker运行程序,一般会有相关配置文件的默认路径
检查磁盘空间:
df-h
检查端口占用:
netstat-anp
实例
报错信息如下:
--Unitdocker.servicehasbegunstartingup. Dec0421:17:46localhost.localdomaindocker[7175]:time="2016-12-04T21:17:46.093155159+08:00"level=warningmsg="/!\\DON'TBINDONANYIPADDRESSWITHOUTsetting-tlsverifyIFYOUDON'TKNOWWHATYOU'REDOING/!\\" Dec0421:17:46localhost.localdomaindocker[7175]:time="2016-12-04T21:17:46.093322868+08:00"level=fatalmsg="listentcp172.17.0.1:2376:bind:cannotassignrequestedaddress" Dec0421:17:46localhost.localdomainsystemd[1]:docker.service:mainprocessexited,code=exited,status=1/FAILURE Dec0421:17:46localhost.localdomainsystemd[1]:FailedtostartDockerApplicationContainerEngine. --Subject:Unitdocker.servicehasfailed --Defined-By:systemd --Support:http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- --Unitdocker.servicehasfailed.
解决方案:
上一篇文章已经说过了简单暴力的解决方案,就是清理/var/lib/docker这个目录,重置设置。
然而,并不清楚具体原因。今天服务器有断电了,服务还是报错。说明了一点,简单暴力的手段并不是好的解决方案,治标不治本。这里重新分析了先问题:
可以看到fatalmsg”listentcp172.17.0.1:2376:bind:cannotassignrequestedaddress“,说的是绑定了一个端口,但是这个地址和端口又不能分配。
上一行大意“你要是不懂,就别瞎绑定端口”,囧。。
找了很久没有在/var/lib/docker的目录下找到关于2376端口bind的配置,思量半天,突然感觉是程序启动的配置文件,最后在/etc/sysconfig/docker目录下找到了。额,这个是之前为了实现一个跟jenkins相关的功能绑定的,并不是瞎邦的。暂时注释掉bind设置的这行,重启服务。ok~
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!