Docker問題:Docker默認路徑存儲空間不足,遷移Docker默認存儲目錄

問題

在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 7Dokcer 17.03.2-ce,其餘環境下並不必定有效。
  1. 關掉全部正在運行的容器測試

    docker stop $(docker ps -q -f status=running)
  2. 關閉docker服務ui

    systemctl stop docker
  3. 將Docker現目錄挪到一個新目錄下,這兩個目錄依照具體狀況而定,個人分別是/var/lib/docker/home/dockerspa

    mv /var/lib/docker /home/docker
  4. 將原來的數據備份一份,備份大法好,萬一不行還不至於損壞數據code

    tar zcf docker_file_bak.tar.gz /home/docker
  5. 修改服務啓動命令,服務的service文件爲/lib/systemd/system/docker.service,將裏面的內容ExecStart=/usr/bin/dockerd修改成以下:it

    ExecStart=/usr/bin/dockerd -g 新目錄
  6. 從新加載修改後的service文件容器

    systemctl daemon-reload
  7. 啓動Docker服務file

    systemctl start docker
  8. 驗證修改爲功service

    docker info | grep "Docker Root Dir"

    能夠看到結果已是新的目錄

再次說明,該方案只在前面提到的環境下測試過,並非全部的環境都試用,由於以前在ubuntu 14.04和ubuntu 16.04上嘗試使用該方法都不能生效,後續再進行說明。

相關文章
相關標籤/搜索