我是Docker的新手。我必须在理论上质疑Docker。我们知道默认情况下Docker使用AUFS,图层文件系统。我在哪里可以找到每个图层的/var/libs/docker
个文件夹?我想看看。
第二件事:
什么是sha256
?我知道这是一些数字哈希。但它在码头工具中意味着什么?
答案 0 :(得分:0)
您可以在“Docker and AUFS in practice”
中查看更多内容此图显示每个图像层和容器层在Docker主机文件系统中表示为/ var / lib / docker /下的目录。 union安装点提供所有层的统一视图。
截至Docker 1.10,图像图层ID与包含其数据的目录名称不对应。
V2 API不处理图像ID。相反,它使用摘要来识别图层,这些图层可以作为图层的属性进行计算,并且可以独立验证。
请参阅“Docker Registry HTTP API V2”:
此API设计受内容可寻址性的严重影响 该设计的核心是内容可寻址标识符的概念。
它通过采用字节的抗冲突散列来唯一地标识内容。可以通过选择通用算法来独立地计算和验证这种标识符 如果可以以安全的方式传达这样的标识符,则可以从不安全的源检索内容,独立计算并确保获得正确的内容。
简而言之,标识符是内容的属性。为了消除其他概念的歧义,我们将此标识称为摘要 摘要是序列化的哈希结果,由算法和十六进制部分组成。该算法识别用于计算摘要的方法。十六进制部分是散列的十六进制编码结果。
我们定义一个摘要字符串以匹配以下语法:
digest := algorithm ":" hex algorithm := /[A-Fa-f0-9_+.-]+/ hex := /[A-Fa-f0-9]+/
摘要的一些示例包括以下内容:
digest description
sha256:6c3c624b58dbbcd3c0dd82b4c53f04194d1247c6eebdaab7c610cf7d66709b3b Common sha256 based digest
虽然该算法允许实现各种算法,但是兼容的实现应该使用sha256