Go テンプレートを使用して出力をフォーマットする
このステップでは、Go テンプレートを使用して docker secret inspect
コマンドの出力をフォーマットする方法を学びます。これは強力な機能で、JSON 出力から特定の情報を抽出し、カスタム形式で表示することができます。
Go テンプレートは、JSON 構造内のフィールドにアクセスするためのシンプルな構文を使用します。ドット表記を使用してフィールドを参照できます。たとえば、.ID
で ID フィールドにアクセスしたり、.Spec.Name
で Spec
オブジェクト内の名前にアクセスしたりできます。
出力をフォーマットするには、--format
フラグの後に Go テンプレート文字列を指定します。Go テンプレートを使用して my_secret
の ID と名前のみを抽出してみましょう。
docker secret inspect my_secret --format 'ID: {{.ID}}, Name: {{.Spec.Name}}'
出力は次のようになります。
ID: <secret_id>, Name: my_secret
<secret_id>
を実際のシークレットの ID に置き換えてください。
Go テンプレート内で様々な関数や制御構造を使用して、より複雑な出力形式を作成することができます。たとえば、ラベルを反復処理したり、条件付きで情報を表示したりすることができます。
このフォーマット機能は、スクリプトで Docker コマンドの出力を処理したり、他のツールと統合する必要がある場合に特に有用です。