Docker 沒法啓動的問題解決

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

相關文章
相關標籤/搜索