0

当我们运行 docker 容器时,如果相关图像不在本地 repo 中,它正在被下载,而是按特定顺序下载,即父图像等。
如果我对图像一无所知,我怎么能找到基于哪些图像基于拉出的图层,如docker run? 输出仅显示任何上的 SHA1docker run etc

4

2 回答 2

0

看看dockerfile-from-image

“与 docker history 命令的工作方式类似,dockerfile-from-image 脚本能够重新创建 Dockerfile(大约),该 Dockerfile 用于使用 Docker 存储在每个图像层旁边的元数据来生成图像。”

有了这个,也许你可以得到图像的来源。

于 2019-01-14T13:43:36.403 回答
0

AFAIK,你不能,哈希没有反向函数。

Docker 只是尝试从本地获取图像,当它不可用时尝试从注册表中获取它。默认注册表是DockerHub

当您在运行容器时未指定任何标签时,即使用:docker run ubuntu而不是docker run ubuntu:16.04默认值latest。您必须访问注册表并搜索latest标签指向的版本。

通常在 DockerHub 中有一个指向 GitHub 存储库的链接,您可以在其中找到 Dockerfile,在 Dockerfile 中您可以找到它的构建方式,包括根映像。

您还可以使用 获得一些额外信息docker image inspect image:tag,但您会在图层中找到更多哈希值。

于 2019-01-14T12:12:09.803 回答