今天在构建自己的centos镜像时,突然报了一个错误ERROR: failed to solve: failed to read expected number of bytes: unexpected EOF

之后不管怎么试都一直没构建成功,一开始以为是网络问题导致的,结果重启centos虚拟机以后还是不能解决问题,最后才发现可能是docker拉取的centos版本导致的问题的出现。原本的vim dockerfile里面的内容

这里执行的命令检查其他是没有问题的,但关键问题就出在第一行FROM centos

docker我是安装在centos7宿主机上的,而使用docker pull centos的安装centos版本是最新版的,是centos8的镜像,非centos7镜像,这样到docker build 这一步后就会报错,出现failed to read expected number of bytes: unexpected EOF。解决方法也很简单,就是去docker pull centos:7,拉取centos7版本的镜像。然后重新vim mydockerfile,修改第一行内容,改为 FROM centos:7,之后再Esc,:wq保存退出即可。这时再执行

docker build -f mydockerfile -t mycentos:1.0 .(别忘记最后面的.)

等待dockerfile完成,docker images查看当前已下载镜像

到这里就已经完成了dockerfile报错:failed to read expected number of bytes: unexpected EOF。总结就是docker拉取的centos版本出现的问题,拉取正确的centos版本即可解决该问题。

谢谢大家支持!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐