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:只列出具有指定作用域的卷。
过滤器的使用示例
- 列出所有悬空卷(没有被容器引用的卷):
podman volume ls --filter dangling=true
- 列出使用特定驱动创建的卷:
podman volume ls --filter driver=local
- 列出具有特定标签的卷:
podman volume ls --filter label=mylabel=myvalue
或者列出不具有某个标签的卷:
podman volume ls --filter label!=mylabel
- 列出具有特定名称的卷:
podman volume ls --filter name=myvolume
- 列出使用特定选项创建的卷:
podman volume ls --filter opt=type=tmpfs
- 列出具有特定作用域的卷:
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
选项和这些占位符,您可以自定义卷的输出格式,以更灵活地展示卷的信息。这有助于快速查看和筛选特定的卷属性,提高管理效率。
另请参阅
- podman(1):Podman 的主命令文档。
- podman-volume(1):关于卷管理的 Podman 子命令文档。
注意事项
- 在使用过滤器时,请确保你提供的键和值是正确的,以避免不必要的错误。
- 过滤器的使用可以提高命令的效率和准确性,特别是在处理大量卷时。
- 当你想要自定义输出格式时,Go 模板是一个强大的工具,你可以查阅相关的 Go 模板文档来了解如何编写模板。
相关资源
- Podman 官方文档:Podman 官方英文文档
- Go 模板文档:Go 模板文档
通过这份开发者手册,你应该能够更好地理解和使用 podman volume ls
命令及其选项,特别是 --filter
选项来过滤卷。记得在实际使用中查阅官方文档和相关资源,以获取最新的信息和最佳实践。
卷可以通过以下属性进行过滤:
历史
2018年11月,最初由Urvashi Mohnani整理编译。