Diff docker注册表图像

时间:2015-06-22 21:25:05

标签: docker docker-registry

最近全球码头注册表中的centos图像已更新(约4天前似乎)。在更新之前,我可以成功构建Centos 6映像,但现在我对某些软件包有一些安装错误。当我查看之前和之后的图像,然后尝试跟踪版本历史时,它看起来像

f1b10cd84249 -->  b9aeeaeb5e17 (originally worked)
             \->  fb9cc58bde0c -->  a005304e4e74 (current version where my code breaks)

其中箭头显示图像的更新方式(左边是最旧的,右边是最新的)。我很好奇图像是如何不同的。反正有diffa005304e4e74b9aeeaeb5e17吗?

1 个答案:

答案 0 :(得分:1)

我从未尝试过,但我想你可以做到:

$ docker export -o f1.tar b9aeeaeb5e17
$ docker export -o f2.tar a005304e4e74
$ diff <(tar -tvf f1.tar | sort) <(tar -tvf f2.tar | sort)

导出将创建文件系统的tar,然后我们使用它来获取文件差异的差异。 (我从Diff between two .tar.gz file lists in liunx)获得了diff语法

您可能会发现只是在图片上运行docker history会为您提供足够的信息。