docker volume ls

説明

ボリュームを一覧表示します。

【API 1.21+】このコマンドを使うには、クライアントとデーモン API の両方が、少なくとも 1.25 の必要があります。クライアントとデーモン API のバージョンを調べるには、 docker version コマンドを使います。

使い方

$ docker volume ls [OPTIONS]

補足説明

Docker が把握している全てのボリュームを表示します。 -f--filter フラグを使ってフィルタできます。利用可能なフィルタ・オプションに関する情報は フィルタリング のセクションをご覧ください。

コマンドの使用例は、以下の 使用例のセクション をご覧ください。

オプション

名前, 省略形

デフォルト

説明

--filter , -f

フィルタ値を指定(例 dangling=true

--format

Go テンプレートを使ってボリュームを整形して表示

--quiet , -q

ボリューム名のみ表示

使用例

ボリューム作成

$ docker volume create rosemary

rosemary

$ docker volume create tyler

tyler

$ docker volume ls

DRIVER              VOLUME NAME
local               rosemary
local               tyler

フィルタリング

フィルタリング・フラグ( -f--filter )は「key=value」の形式です。フィルタが複数ある場合は、複数回指定します(例: --filter "foo=bar" --filter "bif=baz" )。

現時点でサポートしているフィルタ:

  • dangling(ブール値 - true か false か 0 か 1 )

  • driver(ボリュームのドライバ名)

  • label ( label=<key>label=<key>=<value>

  • 名前(ボリューム名)

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=yesis-timelord=no の両方のボリュームが結果に出ました。

ラベルの keyvalue 両方でフィルタすると、期待通りに表示します。

$ docker volume ls --filter label=is-timelord=yes

DRIVER              VOLUME NAME
local               the-doctor

複数のラベルフィルタを指定すると、「and」で検索します。つまり、全ての条件に一致するものです。

$ docker volume ls --filter label=is-timelord=yes --filter label=is-timelord=no

DRIVER              VOLUME NAME

name フィルタはボリューム名の全てまたは一部に一致します。

以下のフィルタはボリューム名に rose 文字列を含む全てのボリュームを表示します。

$ docker volume ls -f name=rose
DRIVER              VOLUME NAME
local               rosemary

表示形式

出力形式のオプション( --format )は Go テンプレートを用いて出力を調整し、表示を整えます。

有効な Go テンプレートの placeholder は以下の通りです。

placeholder

説明

.Name

ボリューム名

.Driver

ボリュームドライバ

.Scope

ボリュームの範囲(local, global)

.Mountpoint

ホスト上のボリュームのマウントポイント

.Labels

ボリュームに割り当てられた全てのラベル

.Label

対象ボリュームに対するラベルの値を指定。例 {{.Label "project.version"}}

--format オプションを使うと、 config ls コマンドはテンプレート宣言通りに正確にデータを出力するか、 table ディレクティブによってヘッダ列も同様に表示するかのいずれかです。

以下の例では、ヘッダのないテンプレートを使いますが、全てのイメージに対して IDDriver の項目をコロン : で分けて表示します。

$ docker volume ls --format "{{.Name}}: {{.Driver}}"

vol1: local
vol2: local
vol3: local

親コマンド

コマンド

説明

docker

ボリュームを管理

関連コマンド

コマンド

説明

docker volume create

ボリュームの作成

docker volume inspect

1つまたは複数ボリュームの詳細情報を表示

docker volume ls

ボリューム一覧表示

docker volume prune

使用していないローカルボリュームを削除

docker volume rm

1つまたは複数ボリュームを削除