docker load加载镜像报json no such file or directory错误

时间:2024-04-07 09:48:06

1.问题描述,普通的镜像导出和加载

导出:docker  save  -o gz_dockernlfsmorev2.0.tar   gz_docker:morev2.0

加载(非本机服务器):docker  load  -i gz_dockerlnfsmorev2.0.tar,报下图异常:no  such   file  or directory

docker load加载镜像报json no such file or directory错误

最开始以为是tar缺失,后来通过sha加密码对比排除次原因;

然后度娘各种搜索,他们给出的解答大多是save对load  export对import。然而统统失效,不能解决该问题。因为我用的是save和load关系是OK的。所以最后只能放弃该解决方案。查内核: cat  /proc/version,docker版本:docker  -v

后来考虑是不是Linux内核版本和docker版本不兼容。花不多少,开始排查,通对三台服务器一一核实:
第一台:Ubuntu系列,docker版本:Docker version 18.06.1-ce, build e68fc7a,内核: Linux version 4.15.0-112-generic ([email protected]) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12)) #113~16.04.1-Ubuntu SMP Fri Jul 10 04:37:08 UTC 2020

第二台:CentOS7.6系列:docker版本:Docker version 19.03.1, build 74b1e89e8a    内核:Linux version 3.10.0-1127.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Tue Mar 31 23:36:51 UTC 2020

第三台:docker版本:Docker version 19.03.12  内核: Linux version 3.10.0-1127.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.5.3-39) (GCC) ) 

第一、第二台加载都是OK的,问题出在第三台;然后怀疑是docker版本太高,于是乎将第三台docker更新为Docker version 18.06.1-ce,,结果:然并卵用;排除了版本不兼容原因;

此刻自己心态要奔溃,最后冷静下来,重新梳理思路;开启逆天改命之路;

mkdir mydocker

1. tar  -zxvf   gz_dockerlnfsmorev2.0.tar  mydocker

2. cd  mydocker

docker load加载镜像报json no such file or directory错误

3. tar  -cvf   gz_dockerlnfsmorev2.0.tar   *

docker load加载镜像报json no such file or directory错误

4.docker  load  -i   gz_dockerlnfsmorev2.0.tar

到此问题彻底解决;

需要注意的是:重新tar  -cvf时候,一定要在解压文件的当前目录进行压缩;否则,同样会报no such   file  or  directory