跳到主要内容

podman -volume -ls - 列出所有可用的卷

摘要

podman volume ls [选项]

描述

列出所有存在的卷。输出可以通过使用 --filter 标志进行过滤,并且可以使用 --format 标志将其格式化为 JSON 或 Go 模板。使用 --quiet 标志仅打印卷的名称。

选项

--filter-f=filter

过滤输出中显示的卷。 可以通过多次使用 --filter 标志来指定多个过滤器。 具有相同键的过滤器是包含性的,唯一的例外是 label,它是排除性的。具有不同键的过滤器总是排除性的。

过滤器选项详解

过滤器可以帮助你精确地控制 podman volume ls 命令的输出,只显示符合特定条件的卷。

支持的过滤器

  • dangling:只列出没有被任何容器引用的卷。
  • driver:只列出使用指定驱动创建的卷。
  • label:只列出具有(或不具有,当使用 label!=... 格式时)指定标签的卷。
  • name:只列出具有指定名称的卷。
  • opt:只列出使用指定选项创建的卷。
  • scope:只列出具有指定作用域的卷。

过滤器的使用示例

  1. 列出所有悬空卷(没有被容器引用的卷)
podman volume ls --filter dangling=true
  1. 列出使用特定驱动创建的卷
podman volume ls --filter driver=local
  1. 列出具有特定标签的卷
podman volume ls --filter label=mylabel=myvalue

或者列出不具有某个标签的卷:

podman volume ls --filter label!=mylabel
  1. 列出具有特定名称的卷
podman volume ls --filter name=myvolume
  1. 列出使用特定选项创建的卷
podman volume ls --filter opt=type=tmpfs
  1. 列出具有特定作用域的卷
podman volume ls --filter scope=local

请注意,你可以组合使用多个过滤器来进一步细化输出。例如,你可以同时根据标签和名称过滤卷:

podman volume ls --filter label=mylabel=myvalue --filter name=myvolume*

这将只列出那些既有 mylabel=myvalue 标签,其名称又以 myvolume 开头的卷。

--format

指定输出的格式。可以是 "json" 或者一个 Go 模板字符串。使用 Go 模板,你可以自定义输出的内容。

--quiet-q

只打印卷的名称,不显示其他详细信息。这可以使输出更加简洁,便于脚本处理。

--help

打印使用说明。

当您使用--help选项时,该命令将显示关于如何使用该命令及其选项的详细说明。这通常包括命令的描述、可用的选项和参数的列表,以及每个选项和参数的描述。使用--help可以帮助您快速了解命令的基本用法和参数。

--noheading

这个选项用于在输出中去除标题或表头。当您希望只显示数据而不显示列标题时,可以使用此选项。这在处理数据或将其导入到其他工具时可能很有用。

--quiet, -q

以安静模式打印卷的输出。只打印卷的名称。

当使用--quiet-q选项时,命令将只输出卷的名称,而不会显示其他详细信息。这可以帮助您快速获取卷的列表,而无需查看其他可能不必要的详细信息。

示例

列出所有卷。

$ podman volume ls

以json格式列出所有卷及其内容。

$ podman volume ls --format json

列出所有卷并显示它们的驱动器和作用域字段。

$ podman volume ls --format "{{.Driver}} {{.Scope}}"

列出名为foo且具有标签blue的卷。

$ podman volume ls --filter name=foo,label=blue

列出具有标签键=值的卷。

$ podman volume ls --filter label=key=value

列出所有卷:

podman volume ls

以 JSON 格式列出所有卷:

podman volume ls --format json

只列出卷的名称:

podman volume ls --quiet

列出所有具有特定标签的卷:

podman volume ls --filter label=mylabel
过滤器描述详细说明
dangling[悬空] 匹配所有没有被任何容器引用的卷悬空卷是指那些没有与任何容器关联的卷。通过此过滤器,您可以找出那些未被任何容器使用的卷,以进行清理或管理。
driver[驱动] 根据其驱动匹配卷卷的驱动决定了存储的底层实现。此过滤器允许您根据所使用的存储驱动来筛选卷。
label[键][键=值] 分配给卷的标签卷可以带有标签,用于分类和识别。通过此过滤器,您可以根据标签来查找具有特定属性或特征的卷。
name[名称] 卷的名称(支持正则表达式)通过卷的名称进行过滤,支持正则表达式,可以灵活匹配多个名称模式。
opt匹配存储驱动选项存储驱动可能支持多种选项来配置卷的行为。此过滤器允许您根据这些选项来过滤卷。
scope根据作用域过滤卷卷的作用域决定了其可见性和生命周期。通过此过滤器,您可以根据作用域(如本地或全局)来筛选卷。
after/since根据给定卷(名称或标签)之后创建的卷进行过滤这两个过滤器允许您根据创建时间筛选卷。after 过滤出指定卷之后创建的卷,而 since 则包括指定卷本身及其之后创建的卷。
until仅移除在给定时间戳之前创建的卷此过滤器用于清理旧卷,只选择那些在指定时间戳之前创建的卷进行删除。

这些过滤器提供了灵活的方式来管理、查找和清理Docker中的卷。通过组合使用这些过滤器,您可以更精确地定位和操作符合特定条件的卷。

--format=format

使用Go模板格式化卷的输出。

Go模板中有效的占位符如下:

占位符描述详细说明
.Anonymous表示卷是否为匿名卷匿名卷是没有明确名称的卷,通常是由Docker自动创建的。
.CreatedAt ...卷的创建时间显示卷创建的具体时间戳。
.Driver卷的驱动显示卷所使用的存储驱动类型。
.GID卷的GID(组ID)显示卷关联的组ID,用于权限管理。
.InspectVolumeData ...不使用此占位符此占位符可能是一个未使用的字段或已弃用的字段,建议避免使用。
.Labels ...与卷关联的标签信息显示卷上设置的标签键值对,用于标识和分类卷。
.LockNumber卷的Libpod锁数量显示卷上当前持有的Libpod锁的数量,通常用于并发控制。
.MountCount卷的挂载次数显示卷被挂载到容器中的次数。
.Mountpoint卷挂载点的源路径显示卷在宿主机上的挂载点路径,即容器访问卷的路径。
.Name卷的名称显示卷的唯一标识符或名称。
.NeedsChown表示卷是否需要更改所有者(chown)操作如果卷的所有者需要更改以匹配容器的用户,则此字段为true。
.NeedsCopyUp表示卷是否需要被复制到上层存储当卷的数据需要从底层存储复制到上层存储时,此字段为true。
.Options ...卷的选项显示卷创建时指定的选项或参数。
.Scope卷的作用域显示卷的作用域,如本地或全局,决定了卷的可见性和生命周期。
.Status ...卷的状态显示卷当前的状态信息,如是否正在使用、是否可用等。
.StorageID卷的存储ID显示卷在底层存储系统中的唯一标识符。
.Timeout卷的超时时间显示与卷相关的操作超时时间设置。
.UID卷的UID(用户ID)显示卷关联的用户ID,用于权限管理。
.VolumeConfigResponse ...不使用此占位符此占位符可能是一个未使用的字段或已弃用的字段,建议避免使用。

通过使用--format选项和这些占位符,您可以自定义卷的输出格式,以更灵活地展示卷的信息。这有助于快速查看和筛选特定的卷属性,提高管理效率。

另请参阅

注意事项

  • 在使用过滤器时,请确保你提供的键和值是正确的,以避免不必要的错误。
  • 过滤器的使用可以提高命令的效率和准确性,特别是在处理大量卷时。
  • 当你想要自定义输出格式时,Go 模板是一个强大的工具,你可以查阅相关的 Go 模板文档来了解如何编写模板。

相关资源

通过这份开发者手册,你应该能够更好地理解和使用 podman volume ls 命令及其选项,特别是 --filter 选项来过滤卷。记得在实际使用中查阅官方文档和相关资源,以获取最新的信息和最佳实践。

卷可以通过以下属性进行过滤:

历史

2018年11月,最初由Urvashi Mohnani整理编译。