Docker 无法启动的问题解决

原创
2015/05/29 19:39
阅读数 11.7W

首先看报错信息:

~  sudo docker -d
[sudo] password for prat0318:
2014/06/10 02:26:34 docker daemon: 1.0.0 63fe64c; execdriver: native; graphdriver:
[29daee74] +job initserver()
[29daee74.initserver()] Creating server
[29daee74] +job serveapi(unix:///var/run/docker.sock)
2014/06/10 02:26:34 Listening for HTTP on unix (/var/run/docker.sock)
Error running DeviceCreate (createPool) dm_task_run failed
[29daee74] -job initserver() = ERR (1)
2014/06/10 02:26:34 Error running DeviceCreate (createPool) dm_task_run failed

Docker无法启动 /etc/init.d/docker start 后又回莫名其妙挂掉,如下

[root@localhost docker]# service docker status
docker dead but subsys locked

可能还有些会报错说pid啥的,统一解决方案如下:

rm /var/run/docker.*   
rm /var/lock/subsys/docker

此时再查看docker的状态便会限制为正常的停止运行状态

重启docker服务后又回重复出现上面的错误

其中docker的一些命令也不能使用,docker ps,docker info之类的,报错如下:

FATA[0000] Cannot connect to the Docker daemon. Is 'docker -d' running on this host?

看来是docker的守护进程没起来,而关于docker进程没起来的原因可能会有很多,比如

模块没加载,系统内核版本过低,硬盘空间不足等等

百度搜了一圈,国内大多都是抄来抄去,大多雷同,谷歌了一番,英文不太好,也没找到很合适的方案

如:

官方的一篇issue中有关于上面几种可能的原因中的一些解决方案

https://github.com/docker/docker/issues/6325

修改kernel内核添加修改CONFIG_DM_THIN_PROVISIONING=y

回顾下事件过程:

由于我这次docker挂掉起不来是因为docker容器目录磁盘空间爆满后的一些操作造成的,所以我还是优先考虑空间不足的问题:

docker ps  #查看容器ID

docker stop id  #停止容器

docker rm id    #删除容器

然后就卡死了,系统重启后,docker无法启动

解决方法:

rm -rf /var/lib/docker/*   #(记得备份重要数据)

哈哈 突然发现是如此的简单,前面都成扯淡的了...

cat xxx.tar.gz | docker import - name:tag

稍等片刻,成功部署... 

2015-8-12更:

关于Docker停机扩容POOL空间:http://www.tuicool.com/articles/63EjyaV


展开阅读全文
打赏
1
2 收藏
分享
加载中
楼主请教下,也就是在docker服务停了之后,把容器备份的情况下,直接使用rm -rf /var/lib/docker/*就可以了??在启动Docker服务的话,会自动创建/var/lib/docker/devicemapper/devicemapper/data嘛???
2019/06/28 16:36
回复
举报
执行docker指令报本机没有daemon,Cannot connect to the Docker daemon. Is 'docker -d' running on this host?

需要修改配置文件

sudo vi /etc/sysconfig/docker
#添加/替换下行配置,开启本地访问
-H unix:///var/run/docker.sock -H 0.0.0.0:5555
sudo service docker restart
ps -ef | grep daemon
2017/05/24 19:46
回复
举报
对啊,同一楼。楼主问题我也遇到了。最后都是和以后解决方法一样。后来重新pull镜像。真的呵呵了,希望后来者删除映射文件前记得备份自己commit的镜像文件。
2016/05/04 22:26
回复
举报
rm -rf /var/lib/docker/*很给力,我开始的时候是rm -rf /var/lib/docker/devicemapper/devicemapper下data文件,然后就呵呵咯,一直Error running DeviceCreate (createPool) dm_task_run failed
2015/07/17 17:30
回复
举报
更多评论
打赏
4 评论
2 收藏
1
分享
返回顶部
顶部