验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

如何解决docker: unexpected EOF.错误问题

阅读:5439 来源:乙速云 作者:代码code

如何解决docker: unexpected EOF.错误问题

下载或上传镜像时,有可能因为网络问题导致报出docker: unexpected EOF.的错误,这时候可以考虑通过修改上传/下载并发线程数来解决

方法一:修改配置文件

sudo vim /etc/docker/daemon.json

这是示例(一个是修改上传数,一个是修改下载数,根据需要添加进daemon.json,如果不添加就是默认值,默认值查看方法见方法二)

{
    "max-concurrent-uploads": 1,
    "max-concurrent-downloads": 1
}

因为我上传没问题,而下载会碰到EOF的报错,因此只添加"max-concurrent-downloads":1这句,这是我的配置文件(有runtimes是因为安装了nvidia-docker)

{
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    },
    "max-concurrent-downloads": 1
}

接下来重启docker

sudo systemctl daemon-reload && sudo systemctl restart docker

这样就成功修改了

方法二:使用dockerd命令修改参数

这种方法适用于手动启动docker daemon并进行调试,如果是平时正常使用,没有特殊要求,方法一会更方便、更适合

输入命令可以查看dockerd支持的参数

dockerd --help

在输出中可以找到默认下载数为3,上传数为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服务

sudo systemctl stop docker

docker socket可停可不停

sudo systemctl stop docker.socket

现在修改下载数

dockerd --max-concurrent-downloads 1

运行后,不要按ctrl+c停止,因为停掉之后就等于docker停了,所以要在新的窗口中运行docker pull下载镜像,就能看到下载时一次只下载一个layer了。

分享到:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>