docker image ls

描述

  • 列出本地的 Docker 镜像 (images)。

  • 默认只显示 “顶层 (top-level)” 镜像 (不显示中间层镜像)。

  • “SIZE” 列显示的是该镜像及其所有父镜像所占用的累积空间。

  • 如果一个镜像有多个标签 (tag) 或多个仓库 (repository 名称),那么它可能会在列表中出现多次 (但其 ID 是相同的)。

用法

docker image ls [OPTIONS] [REPOSITORY[:TAG]]
  • REPOSITORY[:TAG] 可以指定仓库和标签,以过滤你只关心的镜像。

  • 别名 (Aliases):docker image listdocker images 都等价于 docker image ls

选项

选项
含义

-a, --all

显示所有镜像,包括中间层镜像 (默认不显示中间层)。

--digests

显示镜像的 digest (内容可寻址标识符)。

-f, --filter

根据指定条件过滤镜像。支持多种过滤 key (如 danglinglabelbeforesincereference)。

--format

使用 Go 模板自定义输出格式。可选格式包括 tablejson 或自定义 TEMPLATE。 支持的占位符 (Go 模板变量):

  • .ID:镜像 ID

  • .Repository:仓库名

  • .Tag:标签 (Tag)

  • .Digest:镜像摘要 (digest)

  • .CreatedSince:镜像创建以来的时间 (多久之前)

  • .CreatedAt:创建时间

  • .Size:镜像大小 (磁盘占用) | --no-trunc | 不截断输出 (默认情况下部分字段可能被截断显示)。 | | -q, --quiet | 只输出镜像 ID,不显示表格或其他详细信息。 | | --tree | 实验性选项 (API 1.47+): 将多平台 (multi-platform) 镜像以树形结构显示 (CLI 实验功能)。 |

示例 (Examples)

  • 列出所有镜像 (默认):

    这将显示镜像的仓库名、标签、镜像 ID、创建时间、大小等。

  • 显示某个仓库下某标签的镜像:

    只列出 ubuntu:20.04 这个具体镜像 (如果存在)。

  • 使用 --no-trunc 显示完整 ID:

    这可以看到完整的镜像 ID (SHA) 而不是被省略。

  • 只显示镜像 ID:

    适合脚本里用,比如配合 docker rmi 批量删除镜像。

  • 显示 digest:

    可以看到每个镜像的 digest (如果有的话)。

  • 用过滤器 (filter):

    • 显示未打标签 (“悬空”镜像):

      这样可以列出没有 tag 的镜像 (通常是中间层或未引用的镜像)。

    • 按参考 (reference) 过滤:

      这会匹配仓库名以 busy 开头的镜像 (通配符匹配)。

  • 自定义格式输出 (Go 模板):

    这样可以把输出格式化成你想要的表格 (或者其他格式)。

最后更新于

这有帮助吗?