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=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 フィルター

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 ディレクティブを利用すると、カラムヘッダーも同時に出力されます。

以下は、ヘッダーを含めずにテンプレートを利用する例であり、すべてのタスクにおける NameDriver の各項目がコロン(:)で区切って表示されます。

$ 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 ボリュームを削除します。