首先看报错信息: git
~ 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 后又回莫名其妙挂掉,以下 github
[root@localhost docker]# service docker status docker dead but subsys locked
可能还有些会报错说pid啥的,统一解决方案以下: docker
rm /var/run/docker.* rm /var/lock/subsys/docker
此时再查看docker的状态便会限制为正常的中止运行状态 shell
重启docker服务后又回重复出现上面的错误 api
其中docker的一些命令也不能使用,如docker ps,docker info之类的,报错以下: ui
FATA[0000] Cannot connect to the Docker daemon. Is 'docker -d' running on this host?
看来是docker的守护进程没起来,而关于docker进程没起来的缘由可能会有不少,好比 this
模块没加载,系统内核版本太低,硬盘空间不足等等 spa
百度搜了一圈,国内大多都是抄来抄去,大多雷同,谷歌了一番,英文不太好,也没找到很合适的方案 unix
如: code
官方的一篇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