Vic*_*der 17 hash commit docker dockerfile
我试图在Docker官方文档中找到这些信息,但没有成功.
在计算每个提交/层的哈希时,Docker会考虑哪些信息?
很明显,Dockerfile中的行是哈希的一部分,当然还有父提交哈希.但是在计算这个哈希时会考虑其他因素吗?
具体的用例:假设我在不同的机器上有两个开发人员,在不同的时间点(因此,不同$ docker build ...的docker 守护进程和不同的缓存)运行在同一个Dockerfile上.该FROM ...指令将为它们提供相同的起点,但每个操作的结果散列是否会产生相同的散列?这是确定性的吗?
谢谢@thaJeztah。答案在https://gist.github.com/aaronlehmann/b42a2eaf633fc949f93b#id-definitions-and-calculations中
layer.DiffID:单个图层的ID
计算:DiffID = SHA256hex(未压缩的图层tar数据)
layer.ChainID:图层及其父级的 ID。该ID唯一标识由一组层组成的文件系统。
计算方式:
image.ID:图像的ID。由于映像配置引用了映像使用的层,因此此ID包含文件系统数据和其余映像配置。
计算:SHA256hex(imageConfigJSON)
| 归档时间: |
|
| 查看次数: |
2938 次 |
| 最近记录: |