解決docker load 大鏡像遇到的"no space left on device"錯誤方法。

問題是這樣的:我有一個比較大的docker鏡像文件, 在執(zhí)行 load 時提示“no space left on device”的錯誤,而實際使用的/var 目錄空間是 60GB 充足的,經(jīng)過升級內(nèi)核測試和docker服務(wù)端啟動參數(shù)調(diào)整,終于解決了這個問題。下面就是我要分享給大家的處理過程。希望你不要遇到這樣的問題哈(鏡像文件太大真的不可思議!!!)。

系統(tǒng)運行環(huán)境:

主機CPU架構(gòu) :X86_64
操作系統(tǒng)版本: RHEL 6.5
Kernel內(nèi)核版本:2.6.32-431.el6.x86_64
Docker 版本: docker-engine-1.7.1-1.el6.x86_64 graphdriver=devicemapper version=1.7.1

問題說明

  1. 本地有一個15GB的tensorflow鏡像tar文件包, load 到服務(wù)端的時候報錯導(dǎo)致無法成功加載這個鏡像tar包文件,具體錯誤信息如下:
$ cat /var/log/docker
time="2017-08-16T17:26:19.036130760+08:00" level=info msg="Loading containers: done."
time="2017-08-16T17:26:19.036175169+08:00" level=info msg="Daemon has completed initialization"
time="2017-08-16T17:26:19.036239870+08:00" level=info msg="Docker daemon" commit=786b29d execdriver=native-0.2 graphdriver=devicemapper version=1.7.1
time="2017-08-16T17:26:51.929543993+08:00" level=info msg="POST /v1.19/images/load"
time="2017-08-16T17:31:03.197653849+08:00" level=error msg="Handler for POST /images/load returned error: ApplyLayer exit status 1 stdout:  stderr: write /root/.cache/bazel/_bazel_root/f8d1071c69ea316497c31e40fe01608c/execroot/serving/bazel-out/local-fastbuild/bin/tensorflow_serving/servables/tensorflow/simple_servers_test: no space left on device"
time="2017-08-16T17:31:03.197895155+08:00" level=error msg="HTTP Error" err="ApplyLayer exit status 1 stdout:  stderr: write /root/.cache/bazel/_bazel_root/f8d1071c69ea316497c31e40fe01608c/execroot/serving/bazel-out/local-fastbuild/bin/tensorflow_serving/servables/tensorflow/simple_servers_test: no space left on device" statusCode=500
time="2017-08-16T17:38:30.359166697+08:00" level=info msg="Processing signal 'terminated'"
\nThu Aug 17 09:40:43 CST 2017\n

解決方案

  1. 調(diào)整docker服務(wù)端啟動參數(shù)(調(diào)整含義可以看man docker文檔解釋),具體操作如下:
vi /etc/sysconfig/docker
## 將 other_args = "" 更改為如下內(nèi)容
other_args="-s=devicemapper --storage-opt dm.basesize=60G --storage-opt dm.loopmetadatasize=10G"

  1. 查看調(diào)整后的結(jié)果
work@host01:/docker/work>
work@host01:/docker/work>ps -ef | grep docker|grep -v grep
/usr/bin/docker -d  -s=devicemapper --storage-opt dm.basesize=60G --storage-opt dm.loopmetadatasize=10G
work@host01:/docker/work>
work@host01:/docker/work>docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
tf/master           1.4                 db45227e3209        2 weeks ago         15.04 GB

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Docker值得關(guān)注的特性: o 文件系統(tǒng)隔離:每個進程容器運行在一個完全獨立的根文件系統(tǒng)里。 o 資源隔離:系統(tǒng)...
    Anson前行閱讀 908評論 0 2
  • 一、Docker 簡介 Docker 兩個主要部件:Docker: 開源的容器虛擬化平臺Docker Hub: 用...
    R_X閱讀 4,521評論 0 27
  • feisky云計算、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 4,348評論 0 5
  • Docker概覽 Docker是一個用于開發(fā)、交付和運行應(yīng)用的開放平臺,Docker被設(shè)計用于更快地交付應(yīng)用。Do...
    i_cyy閱讀 1,361評論 0 7
  • 基本概念 鏡像Docker 鏡像就是一個只讀的模板,鏡像可以用來創(chuàng)建 Docker 容器 容器容器是從鏡像創(chuàng)建的運...
    巨子聯(lián)盟閱讀 7,804評論 0 3

友情鏈接更多精彩內(nèi)容