目錄
- 方法一:修改配置文件
- 方法二:使用dockerd命令修改參數(shù)
下載或上傳鏡像時(shí),有可能因?yàn)榫W(wǎng)絡(luò)問(wèn)題導(dǎo)致報(bào)出docker: unexpected EOF.的錯(cuò)誤,這時(shí)候可以考慮通過(guò)修改上傳/下載并發(fā)線程數(shù)來(lái)解決
方法一:修改配置文件
sudo vim /etc/docker/daemon.json
這是示例(一個(gè)是修改上傳數(shù),一個(gè)是修改下載數(shù),根據(jù)需要添加進(jìn)daemon.json,如果不添加就是默認(rèn)值,默認(rèn)值查看方法見方法二)
{ "max-concurrent-uploads": 1, "max-concurrent-downloads": 1 }
因?yàn)槲疑蟼鳑](méi)問(wèn)題,而下載會(huì)碰到EOF的報(bào)錯(cuò),因此只添加"max-concurrent-downloads":1這句,這是我的配置文件(有runtimes是因?yàn)榘惭b了nvidia-docker)
{ "runtimes": { "nvidia": { "path": "nvidia-container-runtime", "runtimeArgs": [] } }, "max-concurrent-downloads": 1 }
接下來(lái)重啟docker
sudo systemctl daemon-reload && sudo systemctl restart docker
這樣就成功修改了
方法二:使用dockerd命令修改參數(shù)
這種方法適用于手動(dòng)啟動(dòng)docker daemon并進(jìn)行調(diào)試,如果是平時(shí)正常使用,沒(méi)有特殊要求,方法一會(huì)更方便、更適合
輸入命令可以查看dockerd支持的參數(shù)
dockerd --help
在輸出中可以找到默認(rèn)下載數(shù)為3,上傳數(shù)為5
--max-concurrent-downloads int Set the max concurrent downloads for each pull (default 3) --max-concurrent-uploads int Set the max concurrent uploads for each push (default 5)
先停掉原先的docker服務(wù)
sudo systemctl stop docker
docker socket可停可不停
sudo systemctl stop docker.socket
現(xiàn)在修改下載數(shù)
dockerd --max-concurrent-downloads 1
運(yùn)行后,不要按ctrl+c停止,因?yàn)橥5糁缶偷扔赿ocker停了,所以要在新的窗口中運(yùn)行docker pull下載鏡像,就能看到下載時(shí)一次只下載一個(gè)layer了