记一次docker启动失败的问题排查与解决 | 您所在的位置:网站首页 › 惠普服务器启动不起来怎么解决 › 记一次docker启动失败的问题排查与解决 |
背景 国庆假期回来,照例将几台内网服务器开机重启,其中一台服务器的docker服务却怎么都启动不起来。 ![]() 根据报错提示中journalctl -xe命令查看细节日志,发现docker服务初始化失败。 常见解决方案在网上查询了一些方法,主要有以下两种: 1.umask更改docker权限代码语言:javascript复制systemctl unmask docker.service systemctl unmask docker.socket systemctl start docker.service来源:https://www.jb51.cc/docker/1038977.html 2.创建daemon.json文件代码语言:javascript复制vi /etc/docker/daemon.json # 编辑此文件,并插入内容{}来源:http://www.bubuko.com/infodetail-3730260.html 问题排查与解决试了一下,第一种方式不行,第二种因为我本地本身就有此文件,所以无需尝试。 但是在查看daemon.json文件时,其中有一项配置"graph": "/home/docker_home"给了我启发,因为我曾经更改过docker的主目录,于是查看/home下的docker_home目录: ![]() 发现并无此目录,/home下只有区区两三个目录,这显然不对。这才想起这台服务器一直挂载了一块磁盘,就挂载在/home下,于是通过“df -h”命令发现/home目录只有53G,该磁盘并未挂载在下面。 问题原因:存有docker相关文件目录的磁盘未挂载查看磁盘挂载情况: 代码语言:javascript复制fdsik -l # 查看磁盘挂载情况找到了该块磁盘/dev/sdb ![]() 挂载磁盘: 代码语言:javascript复制mount /dev/sdb /home # 将磁盘/dev/sdb挂载到/home目录下再次查看/home目录,原来的docker_home目录已恢复: ![]() 重启docker服务: 代码语言:javascript复制systemctl start docker systemctl status dockerdocker服务已恢复正常: ![]() 此次docker初始化失败问题的原因是由于我更改过docker的主目录,而docker的主目录存放于某个磁盘中,该磁盘未挂载,所以找不到docker相关目录文件所致。挂载磁盘、重启docker后恢复正常。 至于为什么更改docker主目录,是因为docker安装后默认主目录为/var/lib/docker,默认每个docker容器容量上限为50GB,改到/home下后,docker容器的容量就没有上限,/home所在磁盘容量越大,docker容器的容量就越大。当然也可以通过其他方式扩展docker容器的容量。 |
CopyRight 2018-2019 实验室设备网 版权所有 |