1.问题描述,普通的镜像导出和加载
导出:docker save -o gz_dockernlfsmorev2.0.tar gz_docker:morev2.0
加载(非本机服务器):docker load -i gz_dockerlnfsmorev2.0.tar,报下图异常: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
3. tar -cvf gz_dockerlnfsmorev2.0.tar *
4.docker load -i gz_dockerlnfsmorev2.0.tar
到此问题彻底解决;
需要注意的是:重新tar -cvf时候,一定要在解压文件的当前目录进行压缩;否则,同样会报no such file or directory