我正在尝试理解命令
docker image prune
docker image prune -a
根据文档docker image prune:删除悬空的图像docker image prune -a:删除悬空和未使用的图像
我试图了解悬空图像和未使用图像之间的区别。
根据this stackoverflow帖子,未使用的图像是未在容器中分配或使用的图像。
基本上,如果我跑步
docker pull hello-world
((从未执行过cmd泊坞窗运行hello-world)
然后,用于hello-world的图像将是未使用的图像?
那么如何创建悬空的图像?
根据以上引用的堆栈溢出文章,“悬空的图像只是意味着您已经创建了该图像的新版本,但未指定新名称。因此,您拥有的旧图像将成为'悬空的图像。 '。“
这到底是什么意思?即,创建图像的新版本意味着什么?如何创建图像的新版本?什么是未标记图像?
有人可以举例说明如何创建悬空的图像吗?
假设您正在更改现有Dockerfile的内容,该文件已用于构建名为“ asool / user-service”的映像,其映像ID为“ 5e8d606c6dcc”。例如,您决定向Dockerfile添加新行,例如RUN apk add vim
。然后,使用以下命令,将创建一个新图像:
docker build -t asool/user-service .
创建具有另一个ID的新图像。尽管基于更新的Dockerfile出现了新映像,但ID为“ 5e8d606c6dcc”的旧映像仍然存在。该图像丢失了其标签,名称和最有可能的目的。该图像称为悬空图像。