参考docker-ce的相关导出模块的源代码(源代码解读就不做了,不算复杂)
docekr-ce/components/engin/savedocekr-ce/components/engin/load
可以找出打包出的tar包中放layer文件夹与diff_ids标记的文件层的对应关系 。
1. 解压压缩包2. 读取 centos7 和 ip-server 的inspect3. 找出 centos7 和 ip-server 的diff_ids同的层数4. 按照相同的层数依次找到manifest.json中记录的layers文件目录,并把layer.tar的压缩包置空5. 重新打包
测试改处理的导出包在centos:7镜像已存在的环境中可以被正常导入操作 。
代码实现参考 github.com/zn-chen/dockerdiff懒得琢磨也可以直接使用,在安装好go环境下git clone 下来 make && make install 后即可食用 。
推荐阅读
- 天地劫:幽城再临魔化皇甫申的技能是什么
- 英雄联盟手游塞恩的技能是什么
- 离谱的汉字猜歌词孤勇者关卡怎么过
- 离谱的汉字猜歌词年轮关卡怎么过
- 离谱的汉字驱赶害虫怎么过关
- DQ冰雪皇后冰淇淋生日蛋糕
- 三星s21分辨率是多少
- 李白的藏头诗恐怖一点 恐怖的藏头诗
- 如何加微信好友(微信加好友的痕迹查找)
- 苹果铃声怎么设置自己的(苹果铃声怎么设置自己的歌)