翻译:
https://medium.com/@chamilad/lets-make-your-docker-image-better-than-90-of-existing-ones-8b1e5de950d
让我们试想以下:
你先在正在做一个新的基于容器的项目。你几乎要完成了,现在你想要编译你的docker image并将其公开发布。 底层操作系统是linux, 然后你的工具打包入其中,最后获得了一个80Mb的包,你打上latest的tag并将其推到公共的Docker Hub。
很快,人们开始基于你的工具开始他们的工作。很酷吧。然后你解决了一些小问题,然后重新编译你的包,再次打上latest的tag并推到公共的Docker Hub。
但是这次,工具本身的工作方式发生了改变,现在的输出,文档和手册的工作方式都和以前不同。但是你又不能发布一个新的版本,因为这些改变不够重要。
你可以在你的Docker Hub界面提到latest的commit ID,但是很快就会变的特别麻烦,每个小不定都发布补丁版本更是如此。另外,这个image本身并不包含tool的任何信息。
解决以上问题的一个方法是我们可以将commit ID作为metadata包含到Docker Image本身。
试想这个场景,你想把包的内部包含证书信息,而不是存在于包的外部的文档或者博客的位置,所有可以检查这个包的工具,都可以根据它们的需求去确定其是否合适。
或者另外一个场景,当我们需要