root@server:~# docker images -a
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
我尝试了以下方法:
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
以及以下内容:
docker rmi $(docker images -f "dangling=true" -q)
得到以下错误:
docker: "rmi" requires a minimum of 1 argument.
See 'docker rmi --help'.
Usage: docker rmi [OPTIONS] IMAGE [IMAGE...]
Remove one or more images
您可以尝试仅列出未标记的图像(无标签或无标签的图像):
docker images -q -a | xargs docker inspect --format='{{.Id}}{{range $rt := .RepoTags}} {{$rt}} {{end}}'|grep -v ':'
但是,其他一些可能需要其中一些未标记的图像。
我更喜欢只删除悬空的图像:
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
正如我在2016年9月针对“ docker 1.13+”中提到的“
如何删除旧的和未使用的Docker映像
”中所述,您还可以执行以下image prune
命令:
docker image prune
话虽如此,Janaka Bandara在评论中提到:
这并 没有
<none>
为我删除带有标签的图像(例如foo/bar:<none>
);我不得不使用docker images --digests
和docker rmi foo/bar@<digest>
Janaka 从 Paul V. Novarese 引用了“
如何删除带有标签的签名图像
” :
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
pvnovarese/mprime latest 459769dbc7a1 5 days ago 4.461 MB
pvnovarese/mprime <none> 459769dbc7a1 5 days ago 4.461 MB
诊断步骤
如果使用该
--digests=true
选项,则可以看到这两个条目的区别(未标记的条目具有Docker Content Trust签名摘要):
# docker images --digests=true
REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE
pvnovarese/mprime latest <none> 459769dbc7a1 5 days ago 4.461 MB
pvnovarese/mprime <none> sha256:0b315a681a6b9f14f93ab34f3c744fd547bda30a03b55263d93861671fa33b00 459769dbc7a1 5 days ago
请注意,Paul还提到了Moby问题18892:
拉取签名的图像后,
<none>
“docker images
”输出中会有一个“额外”条目(带有标记)。
这使rmi
图像难以处理(您必须强行使用图像,否则首先删除标记正确的条目,或通过摘要删除)。
我有一个semilogx情节,我想删除xticks。我试过:
和以下内容: 获取以下错误:
我正在OS X 10.8.4(Mountain Lion)下的Vagrant下运行Docker,每当我试图删除一个保存的图像时,我会得到一个错误: 根据帮助,正确的语法是,我不知道该如何解释。 如何删除图像? 有趣的是,当我运行时,根本没有容器显示。运行将显示四(4)个图像和一(1)个图像。
问题内容: 在Firefox中,只有我的视频缩略图在图像的底部和边框之间显示2-3像素的神秘空白(请参阅下文)。 我在Firebug中尝试了所有我能想到的一切,但是没有运气。 如何删除空白? 问题答案: 您会看到下脚的空间(垂悬在“ y”和“ p”底部的位),因为默认情况下是内联元素。这消除了差距:
有一个标记,它在运行后自动移除容器。我想知道对于特定的服务,是否有一个与docker-compose.yml等效的配置,因为我在yml中获得的其中一个服务是一个一次性构建过程,它应该只输出编译文件并自行消失。
我有以下图片: 当我试图移除其中一个时,我得到: 我怎样才能移除它们?为什么会有这样的冲突?