docker volume ls
読む時間の目安: 3 分
説明
ボリュームを一覧表示します。
API 1.21 以上
このコマンドを利用するには、クライアントとデーモンの API はともに、最低でも
1.21
である必要があります。
クライアント上においてdocker version
コマンドを実行して、クライアントとデーモンの API バージョンを確認してください。
利用方法
$ docker volume ls [オプション]
追加説明
Docker が管理するボリュームを一覧表示します。
-f
または --filter
フラグを使ってフィルター検索を行うことができます。
フィルター検索時のオプションの詳細は フィルター検索 の節を参照してください。
本コマンドの利用例については、以下に示す 利用例の節 を参照してください。
オプション
名前/省略形 | デフォルト | 説明 |
--filter , -f |
Provide filter values (e.g. '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
)の指定書式は「キー=値」というものです。
複数のフィルターが必要な場合は、フラグを複数指定します。
(たとえば --filter "foo=bar" --filter "bif=baz"
など。)
現在サポートされているフィルターは以下のとおりです。
- dangling (ブール値 - true または false、0 または 1)
- driver (ボリュームドライバー名)
- label (
label=<キー>
またはlabel=<キー>=<値>
) - name (ボリューム名)
dangling フィルター
dangling
フィルターは、どのコンテナーからも参照されていないボリュームを検索します。
$ docker run -d -v tyler:/tmpwork busybox
f86a7dd02898067079c99ceacd810149060a70528eff3754d0b0f1a93bd0af18
$ docker volume ls -f dangling=true
DRIVER VOLUME NAME
local rosemary
driver フィルター
driver
フィルターは、そのドライバーに基づいたボリュームを抽出します。
以下の例では、local
ドライバーを使って生成されたボリュームが抽出されます。
$ docker volume ls -f driver=local
DRIVER VOLUME NAME
local rosemary
local tyler
label フィルター
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
ラベルのフィルターフラグを複数指定すると「AND」検索になります。 つまりすべての条件が満たされた検索になります。
$ 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
)により Go 言語のテンプレートを利用して、ボリュームをわかりやすく出力することができます。
Go 言語テンプレートによるプレースホルダー(placeholder)は、以下のとおりです。
プレースホルダー | 内容説明 |
---|---|
.Name |
ボリューム名。 |
.Driver |
ボリュームドライバー。 |
.Scope |
ボリュームの範囲(local, global) |
.Mountpoint |
ホスト上のボリュームのマウントポイント |
.Labels |
ボリュームに割り当てられている全ラベル。 |
.Label |
そのボリュームに設定されている特定ラベルの値。たとえば{{.Label "project.version"}} |
--format
オプションを利用すると volume ls
コマンドは、テンプレートが定めるデータを直接出力します。
また table
ディレクティブを利用すると、カラムヘッダーも同時に出力されます。
以下は、ヘッダーを含めずにテンプレートを利用する例であり、すべてのタスクにおける Name
、Driver
の各項目がコロン(:
)で区切って表示されます。
$ docker volume ls --format "{{.Name}}: {{.Driver}}"
vol1: local
vol2: local
vol3: local
上位コマンド
コマンド | 説明 |
---|---|
docker volume | ボリュームを管理します。 |
関連コマンド
コマンド | 説明 |
docker volume create | ボリュームを生成します。 |
docker volume inspect | 1 つのボリュームまたは複数のボリュームについての詳細情報を表示します。 |
docker volume ls | ボリュームを一覧表示します。 |
docker volume prune | 未使用のローカルボリュームを削除します。 |
docker volume rm | ボリュームを削除します。 |