在docker使用用過程當中出現,出現以下錯誤提示:docker
ERROR: Service 'XXX' failed to build: write /var/lib/docker/tmp/GetImageBlob239544438: no space left on device
錯誤提示已經很明顯了,就是如今docker存儲路徑所在分區存儲空間不足,通常都是默認路徑/var/lib/dokcer,固然,這個緣由引發的問題可能會有不少種,以前也也作到過,因此當docker突然出現問題的時候,記得df -h
看一下空閒的空間大小。ubuntu
此方案針對的系統環境和版本分別是:Contos 7
和Dokcer 17.03.2-ce
,其餘環境下並不必定有效。
關掉全部正在運行的容器測試
docker stop $(docker ps -q -f status=running)
關閉docker服務ui
systemctl stop docker
將Docker現目錄
挪到一個新目錄
下,這兩個目錄依照具體狀況而定,個人分別是/var/lib/docker
和/home/docker
spa
mv /var/lib/docker /home/docker
將原來的數據備份一份,備份大法好,萬一不行還不至於損壞數據code
tar zcf docker_file_bak.tar.gz /home/docker
修改服務啓動命令,服務的service文件爲/lib/systemd/system/docker.service
,將裏面的內容ExecStart=/usr/bin/dockerd
修改成以下:it
ExecStart=/usr/bin/dockerd -g 新目錄
從新加載修改後的service文件容器
systemctl daemon-reload
啓動Docker服務file
systemctl start docker
驗證修改爲功service
docker info | grep "Docker Root Dir"
能夠看到結果已是新的目錄
再次說明,該方案只在前面提到的環境下測試過,並非全部的環境都試用,由於以前在ubuntu 14.04和ubuntu 16.04上嘗試使用該方法都不能生效,後續再進行說明。