首先看報錯信息: 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