启动器清理后未打标签的docker基础镜像

我尝试了 launcher cleanupdocker images prune -a,它们都会取消 discourse/base 镜像的标签,使其显示为:

# docker images -a
REPOSITORY            TAG       IMAGE ID       CREATED          SIZE
local_discourse/app   latest    a413ce7df724   22 minutes ago   3.81GB
<none>                <none>    036fcfb18c90   5 weeks ago      2.86GB

discourse/base 镜像显示为 <none>。站点仍然正常工作。有什么需要担心的吗?

如果我运行 launcher app rebuild,它会重建标签,也会重建 app 镜像,所以我最终会有两个 app 镜像,其中一个是悬空镜像。因此,如果我想清理未使用的镜像而不取消任何镜像的标签,我需要手动删除特定的悬空镜像,使用 docker image rm $IMAGE_ID,之后我看到的是之前的内容,即完全带标签和命名的:

# docker images -a
REPOSITORY            TAG                 IMAGE ID       CREATED          SIZE
local_discourse/app   latest              548674fae97b   10 minutes ago   3.81GB
discourse/base        2.0.20230711-0100   036fcfb18c90   5 weeks ago      2.86GB

我猜如果没有手动删除,就没有办法进行完整清理而不产生未标记的镜像,因为 prune 命令会取消 base 镜像的标签。

附注:我不是 Docker 专家。

1 个赞

你好 Nordize :slight_smile:
这个问题在另一个话题中已经讨论过,你可能会发现一些有趣的信息:

向上滚动可以找到更多信息。

就我而言,我在所有的 Discourse 托管服务器上都有这张未命名、未标记的图片,这让我认为这是完全正常的。 :slight_smile:

1 个赞

感谢您的提示,我搜索时没有找到那个帖子。查看这个关于“说明”(来自 Docker 论坛,讨论 Docker 容器的通用问题)的帖子:

……它看起来和我看到的设置很相似,但我不清楚的是,它是否有意拥有两个镜像:discourse/basediscourse_latest/app 镜像。那个[来自 Docker 论坛的帖子]中的说明似乎假设这不是预期的行为,而是意外操作的残留,导致有两个镜像而不是一个。

是否有了解情况的人(开发者?)可以确认一下?