サービスタスクの出力形式を設定する
この最後のステップでは、docker service ps
コマンドの出力形式をカスタマイズする方法を学びます。特定の情報を抽出したり、出力を他のツールと統合したりする場合に便利です。
--format
フラグを使用すると、出力形式を指定するための Go テンプレートを指定できます。.ID
、.Name
、.Image
、.Node
、.DesiredState
、.CurrentState
、.Error
、.Ports
などのプレースホルダを使用して、対応するタスク属性を表示できます。
たとえば、タスク ID、名前、イメージのみを表形式で表示するには、次のように使用します。
docker service ps --format "table {{.ID}}\t{{.Name}}\t{{.Image}}" my-nginx
このコマンドは、次のような出力を生成します。
ID NAME IMAGE
<task_id> my-nginx.1 nginx:latest
また、出力を値のリストとして形式を設定することもでき、これはスクリプト作成に便利です。たとえば、タスク ID のみを取得するには、次のようにします。
docker service ps --format "{{.ID}}" my-nginx
これにより、タスク ID のみが出力されます。
別の形式を試してみましょう。タスク名とそれが実行されているノードを表示します。
docker service ps --format "Task: {{.Name}} is running on node: {{.Node}}" my-nginx
出力は次のようになります。
Task: my-nginx.1 is running on node: <node_name>
必要な出力を得るために、さまざまなプレースホルダと形式オプションを試してみてください。
最後に、作成したサービスをクリーンアップしましょう。
docker service rm my-nginx
このコマンドは、my-nginx
サービスとそれに関連するタスクを削除します。