更新的等于或晚于17.03多克尔的版本,如何将一个查看的图像的层?尽管我发现了较早的Docker系统的大量解决方案(请参阅this SO question),但是现在还可以完成吗?
我特别感兴趣的是能够一次删除一个图层。我回想起很久以前(在Docker的时间,大概是12-18个月!),但是,我失去了这个参考,并且在网络上的任何地方都找不到它。我从下面的第一个答案中了解到,中间层不再下载并报告为缺失,但是如果我已下载完整的图像,是否有办法一次拆下一层?
更新的等于或晚于17.03多克尔的版本,如何将一个查看的图像的层?尽管我发现了较早的Docker系统的大量解决方案(请参阅this SO question),但是现在还可以完成吗?
我特别感兴趣的是能够一次删除一个图层。我回想起很久以前(在Docker的时间,大概是12-18个月!),但是,我失去了这个参考,并且在网络上的任何地方都找不到它。我从下面的第一个答案中了解到,中间层不再下载并报告为缺失,但是如果我已下载完整的图像,是否有办法一次拆下一层?
您提到“AUFS”,但与存储驱动程序无关的问题。
在v1.10.0之前,docker会下载一个图像及其所有中间图层。使用docker history <image_id>
您可以获得中间层ID。然后,您可以浏览/var/lib/docker/<storage_driver>/
目录以查看每个中间层所引入的更改,或者您甚至可以从其中任何一个中启动容器。
这不再的情况下,根据https://github.com/moby/moby/issues/20131:
” ......我们不拉父图像了你只 有他们,如果你自己建立的形象,或者如果您迁移旧。 图片链“。
请注意,docker history
现在输出<missing>
而不是每个不可用中间层的图像ID。
$ docker history ubuntu
IMAGE CREATED CREATED BY SIZE COMMENT
ccc7a11d65b1 2 weeks ago /bin/sh -C#(nop) CMD ["/bin/bash"] 0B
<missing> 2 weeks ago /bin/sh -c mkdir -p /run/systemd && echo '... 7B
<missing> 2 weeks ago /bin/sh -c sed -i 's/^#\s*\(deb.*universe\... 2.76kB
<missing> 2 weeks ago /bin/sh -c rm -rf /var/lib/apt/lists/* 0B
<missing> 2 weeks ago /bin/sh -c set -xe && echo '#!/bin/sh' >... 745B
<missing> 2 weeks ago /bin/sh -C#(nop) ADD file:39d3593ea220e68... 120MB
点击此处了解详情:https://github.com/moby/moby/wiki/Engine-v1.10.0-content-addressability-migration
话虽这么说,如果你有机会到Dockerfile 和是用于构建图像的配套资源,你可以在本地构建映像(这将保存每个中间层)
Ubuntu的发布其Dockerfiles这里: https://hub.docker.com/_/ubuntu/
所以,如果你はnted搭建例子17.10图片您可以:
In this case the dockerfile contains the following command: ADD ubuntu-artful-core-cloudimg-amd64-root.tar.gz/ You can find that file with a Google search Note: The ADD command automatically extracts and unzips recognized formats.
docker build .
如果你不无法访问Dockerfile,您可以尝试使用docker history no-trunc
的输出创建一个`您可能遇到以下几个问题:
docker history
输出不会告诉你什么是你之前使用完整的故事
修改?这次你试过了什么,现在不起作用了? – johnharris85