Docker Pull -无法注册层:处理tar文件时出错(退出状态1):意外EOF

ruyhziif  于 2023-04-11  发布在  Docker
关注(0)|答案(2)|浏览(224)

尝试拉取(docker pull <image>)个大型Docker镜像(超过3 GB),例如:

  • blang/latex:ctanfull;或
  • sumdoc/texlive-2017;

在MacBook Pro(16 GB RAM,macOS High Sierra,Docker版本17.12.0-ce-mac 49)上结束,并显示消息:failed to register layer: Error processing tar file(exit status 1): unexpected EOF。拉取较小的图像(2GB以下)没有任何问题。
命令docker image prune和/或将Docker重建为出厂设置没有帮助。RAW文件/文件夹似乎没有权限问题。
(不过,我可以用docker build -t <> .构建这些映像,一点问题都没有...)
有什么想法为什么docker pull命令对大图像失败?

qzwqbdag

qzwqbdag1#

为了在Docker中成功执行tar命令,需要足够的临时存储。
它可以是SWAP或RAM。
因此,解决此问题的最简单方法是(临时)在Docker的首选项/高级设置中增加Docker可用的RAM,使其大于存储库的大小(假设您有足够的RAM可用)。

f5emj3cl

f5emj3cl2#

docker system prune -a

警告!这将删除:

  • 所有停止的容器
  • 至少一个容器未使用的所有网络
  • 没有至少一个关联容器的所有映像
  • 所有构建缓存

相关问题