如何在本地主机上获取docker镜像的图层

时间:2016-11-12 00:08:59

标签: docker

刚开始在Ubuntu上玩docker。我按如下方式拉了一个码头图像。

<img ba-if="small only" src="assets/img/small.jpg">
<img ba-if="medium only" src="assets/img/medium.jpg">
<img ba-if="large only" src="assets/img/large.jpg">

现在我看到那里有三层被拉。

docker pull coreos/apache

从上面我看到这个图像有三层。

但现在,让我说我关闭并重新打开终端,如何获取此图像的图层(上面相同的信息)。命令是什么?

当我拍摄码头图像时,我得到了这个。

Using default tag: latest
latest: Pulling from coreos/apache
a3ed95caeb02: Pull complete 
5e160ca0bb5a: Pull complete 
1f92e2761bfd: Pull complete 
Digest: sha256:9af520cee7bedcda564970ff790cdf2e72b6daccce8539f6b3c880ed7fc21091
Status: Downloaded newer image for coreos/apache:latest

现在我知道了图片ID,如何获取该图片ID的图层。 选项,如

REPOSITORY          TAG                 IMAGE ID           CREATED             SIZE
centos              latest              0584b3d2cf6d        9 days ago          196.5 MB
hello-world         latest              c54a2cc56cbb        4 months ago        1.848 kB
coreos/apache       latest              5a3024d885c8        2 years ago         294.4 MB

不再有效了。它似乎被删除了。如果不是一个命令,我怎么能至少使用一系列命令来获得它。

2 个答案:

答案 0 :(得分:1)

现在已将图像下载到本地主机(分层),即使您终止终端并重新登录,该图像仍将存在于您的主机上。它已在图层中下载,但作为图像存在于您的localhost上,您现在可以使用&#39; docker run&#39;

将其实例化为容器

如果你想再次拉下图像并看到所有被拉的图层,你可以先删除你的图像(docker rmi),然后做你的#docker pull coreos / apache&#39;再次。 HTH

编辑:要显示进入图像的实际图层,请运行:

docker history <imageid>

答案 1 :(得分:1)

如果你有busybox,我就会得到它。

docker inspect busybox - 会以json格式显示长配置,以下是获取图层的摘录。

"RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:e88b3f82283bc59d5e0df427c824e9f95557e661fcb0ea15fb0fb6f97760f9d9"
            ]
        }

您可以使用--format docker inspect rao @ ubuntu $ docker inspect --format '{{.RootFS.Layers}}' busybox [sha256:e88b3f82283bc59d5e0df427c824e9f95557e661fcb0ea15fb0fb6f97760f9d9] 选项通过以下命令对其进行简单过滤,该选项将准确提供OP正在寻找的内容。

self.layer.addSublayer