docker secret ls

説明

シークレット一覧を表示します。

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

使い方

$ docker secret ls [OPTIONS]

補足説明

swarm 内のシークレット一覧を表示するには、このコマンドを manager ノード上で実行します。

シークレットの利用に関する詳細情報は、 Docker シークレットで機微データを管理 をご覧ください。

注釈

これはクラスタ管理コマンドであり、 swarm manager ノードで実行する必要があります。manager と worker について学ぶには、ドキュメント内の Swarm モードのセクション を参照ください。

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

オプション

名前, 省略形 デフォルト 説明
--filter , -f   フィルタの値を指定(例: driver=bridge
--format   Go テンプレートを使ってコンテナの出力を整形
--quiet , -q   ID のみ表示

使用例

$ docker secret ls

ID                          NAME                        CREATED             UPDATED
6697bflskwj1998km1gnnjr38   q5s5570vtvnimefos1fyeo2u2   6 weeks ago         6 weeks ago
9u9hk4br2ej0wgngkga6rp4hq   my_secret                   5 weeks ago         5 weeks ago
mem02h8n73mybpgqjf0kfi1n0   test_secret                 3 seconds ago       3 seconds ago

フィルタリング

The filtering flag (-f or --filter) format is a key=value pair. If there is more than one filter, then pass multiple flags (e.g., --filter "foo=bar" --filter "bif=baz")

フィルタリング・フラグ( -f または --filter )の書式は key=value のペアです。フィルタを何回もしたい場合は、複数のフラグを使います(例: -filter "foo=bar" --filter "bif=baz" )。

現時点でサポートしているフィルタは、次の通りです。

  • id (ネットワークID)
  • labellabel=<キー> または label=<キー>=<値>
  • name (シークレット名)

id

id フィルタはシークレット ID の一部もしくは全体と一致します。

$ docker secret ls -f "id=6697bflskwj1998km1gnnjr38"

ID                          NAME                        CREATED             UPDATED
6697bflskwj1998km1gnnjr38   q5s5570vtvnimefos1fyeo2u2   6 weeks ago         6 weeks ago

label

label フィルタは label だけ、あるいは label と値に一致する条件のシークレットでフィルタします。

以下のフィルタはラベルの値が usage に一致するシークレットを表示します。

$ docker secret ls --filter label=project

ID                          NAME                        CREATED             UPDATED
mem02h8n73mybpgqjf0kfi1n0   test_secret                 About an hour ago   About an hour ago

以下のフィルタは project ラベルの値が project-a の値に一致するネットワークを表示します。

$ docker service ls --filter label=project=test

ID                          NAME                        CREATED             UPDATED
mem02h8n73mybpgqjf0kfi1n0   test_secret                 About an hour ago   About an hour ago

name

name フィルタはシークレット名の一部もしくは全体に一致します。

以下のフィルタは先頭に test 文字列を含むシークレットでフィルタします。

$ docker secret ls --filter name=test_secret

ID                          NAME                        CREATED             UPDATED
mem02h8n73mybpgqjf0kfi1n0   test_secret                 About an hour ago   About an hour ago

表示形式

表示形式のオプション( --format )は、Go テンプレートを使ってシークレット出力を整形します。

Go テンプレートで有効なプレースホルダは以下の通りです。

placeholder 説明
.ID シークレット ID
.Name ネットワーク名
.CreatedAt シークレットが作成された時刻
.UpdatedAt シークレットが更新された時刻
.Labels シークレットに割り当てられた全てのラベル
.Label シークレットで指定したラベルの値。例 {{.Label "secret.ssh.key"}}

--format オプションを指定すると、 secret ls コマンドはテンプレートで宣言した通りにデータを出力するか、 table 命令を使えばカラム列も同様に表示するかのどちらかです。

以下の例はヘッダ無しのテンプレートを使い、全てのシークレットに対する IDName のエントリをコロン( : )で区切って出力します。

$ docker secret ls --format "{{.ID}}: {{.Name}}"

77af4d6b9913: secret-1
b6fa739cedf5: secret-2
78a85c484f71: secret-3

全てのシークレット名と作成日時を表形式で表示するには、次のようにします。

$ docker secret ls --format "table {{.ID}}\t{{.Name}}\t{{ .CreatedAt}}"

ID                  NAME                      CREATED
77af4d6b9913        secret-1                  5 minutes ago
b6fa739cedf5        secret-2                  3 hours ago
78a85c484f71        secret-3                  10 days ago

親コマンド

コマンド 説明
docker secret Docker シークレットを管理

関連コマンド

コマンド 説明
docker secret create ファイルもしくは STDIN(標準入力)を内容としてシークレットを作成
docker secret inspect 1つまたは複数シークレットの詳細情報を表示
docker secret ls シークレット一覧
docker secret rm 1つまたは複数のシークレットを削除