docker secret ls

読む時間の目安: 3 分

説明

Secret(機密情報)を一覧表示します。

API 1.25 以上  このコマンドを利用するには、クライアントとデーモンの API はともに、最低でも 1.25 である必要があります。 クライアント上においてdocker versionコマンドを実行して、クライアントとデーモンの API バージョンを確認してください。

Swarm このコマンドは Swarm オーケストレーターにおいて動作します。

利用方法

$ docker secret ls [オプション]

追加説明

マネージャーノードにおいて、その Swarm 内の Secret の一覧を表示します。

Secret の利用に関する詳細は Docker Secret を使った機密情報の管理 を参照してください。

メモ

これはクラスター管理コマンドであるため、Swarm のマネージャーノード上で実行する必要があります。 マネージャーノードとワーカーノードについては、本ドキュメントの Swarm モード を参照してください。

本コマンドの利用例については、以下に示す 利用例の節 を参照してください。

オプション

名前/省略形 デフォルト 説明
--filter , -f 指定された条件に基づいてフィルター検索を行います。
--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

フィルター検索

フィルターフラグ(-fまたは--filter)の指定書式は「キー=値」というものです。 複数のフィルターが必要な場合は、フラグを複数指定します。 (たとえば--filter "foo=bar" --filter "bif=baz"など。)

現在サポートされているフィルターは以下のとおりです。

  • id (Secret の ID)
  • label (label=<key>またはlabel=<key>=<value>)
  • name (Secret 名)

id フィルター

idフィルターは、Secret ID の全部またはそのプリフィックス部分を検索します。

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

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

label フィルター

labelフィルターは、labelだけが存在する、あるいはlabelとその値が存在する Secret を検索します。

以下の例ではprojectラベルを持った Secret が検索されます。 この場合、その値の内容は問いません。

$ 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フィルターは、Secret 名の全部またはそのプリフィックス部分を検索します。

以下のフィルター指定では、testという名前をプリフィックスに含んだ Secret すべてが検索されます。

$ docker secret ls --filter name=test_secret

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

フォーマット設定

フォーマット設定オプション(--format)により Go 言語のテンプレートを利用して、Secret をわかりやすく出力することができます。

Go 言語テンプレートによるプレースホルダー(placeholder)は以下のとおりです。

プレースホルダー 内容説明
.ID Secret ID。
.Name Secret 名。
.CreatedAt Secret 生成時刻。
.UpdatedAt Secret 更新時刻。
.Labels Secret に割り当てられている全ラベル。
.Label Secret の指定ラベルに対する値。たとえば{{.Label "secret.ssh.key"}}

--formatオプションを利用するとsecret lsコマンドは、テンプレートが定めるデータを直接出力します。 またtableディレクティブを利用すると、カラムヘッダーも同時に出力されます。

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

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

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

Secret の一覧をその名前、生成日時とともに表形式で出力するには、以下のようにします。

$ 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 Secret を管理します。
コマンド 説明
docker secret create ファイルまたは標準入力から Secret(機密情報)を生成します。
docker secret inspect 1 つまたは複数の Secret(機密情報)の詳細情報を表示します。
docker secret ls Secret(機密情報)を一覧表示します。
docker secret rm 1 つまたは複数の Secret(機密情報)を削除します。