docker错误:处理tar文件(退出状态1)时出错:意外的EOF

我需要空间和执行: docker rmi $(docker images -f "dangling=true" -q)

从那时起,我不能用docker-compose: docker-compose build ,我得到错误: ERROR: Error processing tar file(exit status 1): unexpected EOF

我试图删除所有的图像,重新安装docker,但没有什么会做:经过相当一段时间总是相同的错误。

我build立在另一个系统上,它的工作,这表明这是一个错误的国家问题。

任何想法我应该清理?

使用:

 ▶ docker version Client: Version: 17.03.0-ce API version: 1.24 (downgraded from 1.26) Go version: go1.7.5 Git commit: 3a232c8 Built: Tue Feb 28 08:01:32 2017 OS/Arch: linux/amd64 Server: Version: 1.12.6 API version: 1.24 (minimum version ) Go version: go1.6.2 Git commit: 78d1802 Built: Tue Jan 31 23:35:14 2017 OS/Arch: linux/amd64 Experimental: false ▶ docker-compose version docker-compose version 1.11.2, build dfed245 docker-py version: 2.1.0 CPython version: 2.7.13 OpenSSL version: OpenSSL 1.0.1t 3 May 2016 

有一个内置的命令来删除未使用的图像(版本1.13 +):

 docker image prune 

现在来处理这个情况:

  • 停止Docker服务

     systemctl stop docker 
  • 备份/var/lib/docker然后:

  • 删除/var/lib/docker注意:这将删除图像,容器,卷,…确保您先备份它。

     rm -rf /var/lib/docker 
  • 启动Docker服务

     systemctl start docker 

更新:

正如在另一个答案中指出的,在某些情况下,它可能是文件权限问题。 请查看权限。

我有同样的问题,批准的答案不适合我。

原来我有一个文件的权限,不允许运行docker-compose的用户读取它。 删除文件后,一切正常