ARM终端 KylinOS 容器镜像导入排障

1 故障现象

执行docker load -i jdk8.arm.tar.gz 显示如下错误:

bd245ec49ee5: Loading layer [================================>                  ]  34.54MB/53.68MB
archive/tar: invalid tar header

2 排障

检查离线文件是否存在压缩问题

mkdir repo
cd repo
tar xvf ../jdk8.arm.tar.gz
cd 1f248b96d7f6b52b6e6693ba3d60679c1d01fd4369419797cdcf8e83f110fb2c
tar tvf layer.tar 

解压均正常,文件没有问题

使用在线镜像,进一步排除离线文件原因

直接使用在线镜像地址下载,导入,依然报错

root@xwhw:~# docker -D pull registry.openanolis.cn/openanolis/anolisos:8.10
time="2025-05-10T14:01:52+08:00" level=debug msg="otel error" error="1 errors occurred detecting resource:\n\t* conflicting Schema URL: https://opentelemetry.io/schemas/1.21.0 and https://opentelemetry.io/schemas/1.26.0"
8.10: Pulling from openanolis/anolisos
643ade85e06c: Extracting [==================================================>]  81.99MB/81.99MB
ffe32c2f64f9: Download complete
failed to register layer: archive/tar: invalid tar header

网络搜索该错误,没有有效信息

查看docker cli源码,没有从代码文件中直接检索到invalid tar header

启动docker debug,获取详细日志信息

修改docker daemon配置文件/etc/docker/daemon.json,启动debug模式,查看详细日志信息

{
        "debug": true
}

执行journalctl -u docker, 显示如下日志

5月 10 14:01:53 xwhw dockerd[46749]: time="2025-05-10T14:01:53.187527932+08:00" level=debug msg="Downloaded ffe32c2f64f9 to tempfile /var/lib/docker/tmp/GetImageBlob361179273"
5月 10 14:01:54 xwhw dockerd[46749]: time="2025-05-10T14:01:54.717283867+08:00" level=debug msg="Downloaded 643ade85e06c to tempfile /var/lib/docker/tmp/GetImageBlob3202669198"
5月 10 14:01:54 xwhw dockerd[46749]: time="2025-05-10T14:

你可能感兴趣的:(技术分享,arm开发)