温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2023-03-15 14:37:14 来源:亿速云 阅读:313 作者:iii 栏目:开发技术

这篇文章主要讲解了“如何解决docker: unexpected EOF.错误问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决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了。

感谢各位的阅读,以上就是“如何解决docker: unexpected EOF.错误问题”的内容了,经过本文的学习后,相信大家对如何解决docker: unexpected EOF.错误问题这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI