为什么 Docker 中会出现“none”镜像以及我们如何避免它

2023-11-24

当我运行docker-compose build命令在 Docker 中重建映像,因为我更改了 Dockerfile 中的某些内容,有时我得到“无”映像标签。我们怎样才能避免这个事实呢?我想重建图像,但是none图像不应出现。

REPOSITORY  TAG            IMAGE ID            CREATED             SIZE
magento2    latest         b4dce4dcbd4f        16 hours ago        516MB
<none>      <none>         b4ffce2bf91e        16 hours ago        519MB
<none>      <none>         a1aedb60c82a        17 hours ago        516MB
<none>      <none>         ec9a14ae856c        20 hours ago        519MB
<none>      <none>         ef8eba6874cc        23 hours ago        516MB
<none>      <none>         0e53a8b8c303        23 hours ago        516MB
php         7.1-apache     93e6fb4b13e1        3 weeks ago         369MB
mysql       5.6.39         079344ce5ebd        7 months ago        256MB

以下是一些部分来自什么是 Docker<none>:<none> images?

好的<none>:<none>

这些都是中间的图像,可以使用docker images -a。它们不会导致磁盘空间问题,但这绝对是屏幕“空间”问题。由于这一切<none>:<none>图像所代表的含义可能会让人非常困惑。

The Bad <none>:<none>

这些图像是dangling,这可能会导致磁盘空间问题。这些<none>:<none>图像被列为一部分docker images并且需要修剪。

(Docker中的悬空文件系统层是未使用的,并且没有被任何镜像引用。因此,我们需要一种机制让Docker来清除这些悬空镜像)

So,

  • 如果您的案件与dangling图片,删除它们就可以了 with:

     docker rmi $(docker images -f "dangling=true" -q)
    

    还有一个选项docker image prune但客户端和守护进程 API 必须至少v1.25使用此命令。

  • 如果您的案件与intermediate图片,保留它们就可以了,其他图像指向它们。

相关文档:

  • docker rmi
  • docker 镜像 rm
  • docker镜像修剪
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Docker 中会出现“none”镜像以及我们如何避免它 的相关文章

随机推荐