文档说 docker prune “删除所有悬空图像”。它甚至发出警告“这将删除所有悬挂的图像”。那么为什么它不删除我的呢?
ubuntu@ip-172-31-26-48:~$ docker image prune
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] y
Total reclaimed space: 0 B
ubuntu@ip-172-31-26-48:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
simonm3/registrm latest bd3ef6d73785 7 minutes ago 468 MB
simonm3/registr latest 7dd15943671b 2 hours ago 2.51 GB
simonm3/registrm <none> f8f22986e85a 45 hours ago 2.93 GB
simonm3/registrm <none> c1b9d8606371 45 hours ago 2.93 GB
simonm3/registrm <none> f1ca97467106 45 hours ago 2.93 GB
simonm3/registr <none> 6a5af88f93a7 45 hours ago 4.42 GB
simonm3/registrm <none> 93dc81b0fa7a 45 hours ago 2.93 GB
simonm3/registrm <none> dbc50510d499 45 hours ago 2.93 GB
simonm3/registr <none> 0101ca5d4a25 45 hours ago 4.42 GB
simonm3/registrm <none> d8f85df39f0a 46 hours ago 2.93 GB
simonm3/registrm <none> 053892e9798b 46 hours ago 2.93 GB
simonm3/registrm <none> 3845056cf241 46 hours ago 2.92 GB
simonm3/registr <none> 349ef3c589bd 46 hours ago 4.42 GB
simonm3/registrm <none> 5dcbb0db4710 2 days ago 2.92 GB
simonm3/registr <none> e403f74861f6 2 days ago 4.32 GB
simonm3/registr <none> c12ca8819c24 5 days ago 4.32 GB
simonm3/registrm <none> 4bb8ed8154b7 6 days ago 2.92 GB
ubuntu@ip-172-31-26-48:~$ docker images -q -f dangling=true
f8f22986e85a
c1b9d8606371
f1ca97467106
6a5af88f93a7
93dc81b0fa7a
dbc50510d499
0101ca5d4a25
d8f85df39f0a
053892e9798b
3845056cf241
349ef3c589bd
5dcbb0db4710
e403f74861f6
c12ca8819c24
4bb8ed8154b7
Run Code Online (Sandbox Code Playgroud)
dam*_*amd 29
我的问题是我误解了“悬挂图像”的实际含义。我想删除所有未使用的图像,而不仅仅是悬空的图像。
我实际上想删除所有未使用的 Docker 映像,您需要使用-a/--all来实现这些映像。
$ docker help image prune
Usage: docker image prune [OPTIONS]
Remove unused images
Options:
-a, --all Remove all unused images, not just dangling ones
--filter filter Provide filter values (e.g. 'until=<timestamp>')
-f, --force Do not prompt for confirmation
Run Code Online (Sandbox Code Playgroud)
换句话说,我的解决方案是:
$ docker image prune -a
Run Code Online (Sandbox Code Playgroud)
小智 18
Docker 不会删除仍然包含容器的悬挂镜像,即使它们不再运行。首先用于docker container prune删除已停止的容器,然后docker image prune将删除已修剪的容器所依赖的悬空图像。
我认为这是因为这些可能是某些图像构建的中间图像。
因此并不是真正悬挂的图像。
| 归档时间: |
|
| 查看次数: |
12070 次 |
| 最近记录: |