我的系统12346789ABCD上有一个Docker映像。

是否有办法知道其来源?

具体来说,我想知道它是否在本地构建或从存储库下载,在后一种情况下,从哪个存储库下载。

评论

嗨,不是答案,而是第一个提示-stackoverflow.com/questions/44769315/…

另外:projectatomic.io/blog/2015/07/what-are-docker-none-none-images

谢谢@Peter。我已经研究了docker inspect:docker inspect -f'{{json。}}'debian | jq'{RepoTags,RepoDigests}'RepoTags和RepoDigest的存在是下载图像的线索。但我从哪里看不到。

考虑启动一个容器来探索内容。

#1 楼

通常,如果它来自注册表,则会在映像名称中看到它(如果不是来自默认注册表Docker Hub)。来自Quay的图像看起来像quay.io/<namespace>/<image name>:<tag>

有些图像来自其他任何地方。例如,FROM: scratch的图像和通过docker import创建的图像将不与任何注册表关联。这些是著名的none:none图像(无存储库和标签)。在这种情况下,您只有ID(SHA),您需要成为Sherlock Holmes(或Jessie Frazelle)才能将其与某物匹配。

因此,您只能看到清单中写的内容。你应该相信吗?可以使用docker内容信任来对清单进行签名,即使图像内容本身不是。如果您需要更确定的出处,则可能需要公证员来确保在整个委托链中保持信任。

希望能回答这个问题。