docker volume ls
描述 | 列出卷 |
---|---|
用法 | docker volume ls [選項] |
別名 | docker volume list |
描述
列出 Docker 已知的所有卷。可以使用 -f
或 --filter
標誌進行過濾。有關可用過濾選項的更多資訊,請參閱過濾部分。
選項
選項 | 預設值 | 描述 |
---|---|---|
--cluster | API 1.42+ Swarm 僅顯示叢集卷,並使用叢集卷列表格式 | |
-f, --filter | 提供過濾值(例如 dangling=true ) | |
--format | 使用自定義模板格式化輸出 'table': 以帶列標題的表格格式列印輸出(預設) 'table TEMPLATE': 使用給定的 Go 模板以表格格式列印輸出 'json': 以 JSON 格式列印 'TEMPLATE': 使用給定的 Go 模板列印輸出。 有關使用模板格式化輸出的更多資訊,請參閱https://docs.docker.net.tw/go/formatting/ | |
-q, --quiet | 僅顯示卷名 |
示例
建立一個卷
$ docker volume create rosemary
rosemary
$ docker volume create tyler
tyler
$ docker volume ls
DRIVER VOLUME NAME
local rosemary
local tyler
過濾 (--filter)
過濾標誌(-f
或 --filter
)的格式為“key=value”。如果有多個過濾器,則傳遞多個標誌(例如,--filter "foo=bar" --filter "bif=baz"
)
目前支援的過濾器有:
- dangling(布林值 - true 或 false,0 或 1)
- driver(卷驅動程式名稱)
- label (
label=<key>
或label=<key>=<value>
) - name(卷名)
dangling
dangling
過濾器匹配所有未被任何容器引用的卷
$ docker run -d -v tyler:/tmpwork busybox
f86a7dd02898067079c99ceacd810149060a70528eff3754d0b0f1a93bd0af18
$ docker volume ls -f dangling=true
DRIVER VOLUME NAME
local rosemary
驅動程式
driver
過濾器根據卷的驅動程式進行匹配。
以下示例匹配使用 local
驅動程式建立的卷
$ docker volume ls -f driver=local
DRIVER VOLUME NAME
local rosemary
local tyler
標籤
label
過濾器根據是否存在 label
或 label
及其值進行匹配。
首先,建立一些捲來說明這一點;
$ docker volume create the-doctor --label is-timelord=yes
the-doctor
$ docker volume create daleks --label is-timelord=no
daleks
以下示例過濾器匹配具有 is-timelord
標籤的卷,無論其值如何。
$ docker volume ls --filter label=is-timelord
DRIVER VOLUME NAME
local daleks
local the-doctor
如上述示例所示,返回了帶有 is-timelord=yes
和 is-timelord=no
的兩個卷。
同時過濾標籤的 key
和 value
會產生預期的結果
$ docker volume ls --filter label=is-timelord=yes
DRIVER VOLUME NAME
local the-doctor
指定多個標籤過濾器會產生“與”搜尋;所有條件都應滿足;
$ docker volume ls --filter label=is-timelord=yes --filter label=is-timelord=no
DRIVER VOLUME NAME
name
name
過濾器匹配卷名的全部或部分。
以下過濾器匹配所有名稱中包含 rose
字串的卷。
$ docker volume ls -f name=rose
DRIVER VOLUME NAME
local rosemary
格式化輸出 (--format)
格式選項(--format
)使用 Go 模板漂亮地列印卷輸出。
Go 模板的有效佔位符如下所示
佔位符 | 描述 |
---|---|
.Name | 卷名 |
.Driver | 卷驅動程式 |
.Scope | 卷範圍(本地、全域性) |
.Mountpoint | 卷在主機上的掛載點 |
.Labels | 分配給卷的所有標籤 |
.Label | 此卷特定標籤的值。例如 {{.Label "project.version"}} |
使用 --format
選項時,volume ls
命令將完全按照模板宣告的方式輸出資料,或者在使用 table
指令時,也包含列標題。
以下示例使用不帶標題的模板,併為所有卷輸出由冒號(:
)分隔的 Name
和 Driver
條目
$ docker volume ls --format "{{.Name}}: {{.Driver}}"
vol1: local
vol2: local
vol3: local
要以 JSON 格式列出所有卷,請使用 json
指令
$ docker volume ls --format json
{"Driver":"local","Labels":"","Links":"N/A","Mountpoint":"/var/lib/docker/volumes/docker-cli-dev-cache/_data","Name":"docker-cli-dev-cache","Scope":"local","Size":"N/A"}