格式化服务任务的输出
在最后这一步,你将学习如何自定义 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
服务及其关联的任务。