gpt4 book ai didi

linux - Docker - 在 Centos 中提取时出错(无效的 tar header )

转载 作者:IT王子 更新时间:2023-10-29 00:43:22 28 4
gpt4 key购买 nike

Docker version 18.06.1-ce, build e68fc7a
CentOS Linux release 7.5.1804 (Core)

我的docker文件是

FROM node:8

当我执行 - docker build -t my-image . 我得到以下错误

Sending build context to Docker daemon  44.03kB
Step 1/1 : FROM node:8
8: Pulling from library/node
f189db1b88b3: Extracting [==================================================>] 54.25MB/54.25MB
3d06cf2f1b5e: Download complete
687ebdda822c: Download complete
99119ca3f34e: Download complete
e771d6006054: Download complete
b0cc28d0be2c: Download complete
7225c154ac40: Download complete
7659da3c5093: Download complete
failed to register layer: ApplyLayer exit status 1 stdout: stderr: archive/tar: invalid tar header

有什么线索吗?有什么建议可以解决吗?

我在运行docker run -it ubuntu时出现同样的错误

最佳答案

错误消息表明您尝试下载的图像已损坏。我可以想到几个地方会发生这种情况:

  • 在远程注册服务器上
  • 在途中
  • 内存中
  • 在磁盘上
  • 通过申请

鉴于图像的流行,我会排除注册服务器有问题。可能您的服务器不稳定,在下载大图像时会触发内存或磁盘问题。在 Linux 上,您可能会在 dmesg 中看到内核错误。

docker 的版本足够新,任何过去的问题都已得到修复。与非常大的层(超过 8GB)相关的 tar 文件处理只有一个问题,不适用于您正在拉取的图像。 tar 处理直接嵌入到 docker 中,因此更改或升级您的 tar 二进制文件不会影响 docker。

可能您的存储驱动程序和后端存储设备存在问题。如果您还没有从 devicemapper 更改为 overlay2,那么如果 docker 尚未默认为这个(您可以在 docker info 中查看您当前的存储驱动程序并使用条目更改它),这将是一个很好的第一步在/etc/docker/daemon.json 中)。

我对该列表的第一个猜测是“在途”部分。由于请求将通过 https,这不会来自坏数据包。但是网络上拦截所有网络流量的代理可能是罪魁祸首。如果您有代理,请确保将 docker 配置为登录并使用您的代理。有关更多详细信息,请参阅 https://docs.docker.com/config/daemon/systemd/#httphttps-proxy

关于linux - Docker - 在 Centos 中提取时出错(无效的 tar header ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52691349/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com