Powershell 格式化docker事件的json输出
我希望docker事件输出更具可读性。 我在Windows10Pro上,在powershell上运行此命令 docker事件--格式为“{json.}” 在不同的shell中创建新容器时 docker create mcr.microsoft.com/dotnet/core/sdk:3.1 我在第一个shell中获得了一些json格式的输出。看起来是这样的 {“状态”:“创建”,“id”:“7897095C22919BCDCF39612386BED63296BC33BE250445E6069BF4FE90CE37”,“发件人”:“mcr.microsoft.com/dotnet/core/sdk:3.1”,“类型”:“容器”,“操作”:“创建”,“参与者”:{“id”:“7897095C22919BCDCF39612386BED63296BC33BE250445E6069BF4FE90CE37”,“属性”:{“图像”:“mcr.microsoft.com/dotnet/core/sdk:3.1”,“名称”:“目标”},“范围”:“本地”,“时间”:1585135301,“时间纳米”:1585135301351718800} 我的问题是,有没有更好的方式来格式化它?我应该对命令做什么 docker事件--格式为“{json.}” 以便以更可读的方式对其进行格式化。是否有一些东西可以通过管道传输该输出,使其看起来像下面这样。我使用了一些在线格式化程序来实现这一点 更新 现在问题解决了 根据@Vijay的,我首先安装了。这些步骤是:Powershell 格式化docker事件的json输出,powershell,docker,jq,Powershell,Docker,Jq,我希望docker事件输出更具可读性。 我在Windows10Pro上,在powershell上运行此命令 docker事件--格式为“{json.}” 在不同的shell中创建新容器时 docker create mcr.microsoft.com/dotnet/core/sdk:3.1 我在第一个shell中获得了一些json格式的输出。看起来是这样的 {“状态”:“创建”,“id”:“7897095C22919BCDCF39612386BED63296BC33BE250445E6069BF
您只需通过管道将
jq
发送到docker events
命令
docker events --format '{{json .}}' | jq
使用第一个答案形式: 结果:
{
"status": "create",
"id": "7897095c22919bcdcf39612386bebed63296bc33be250445e6069bf4fe90ce37",
"from": "mcr.microsoft.com/dotnet/core/sdk:3.1",
"Type": "container",
"Action": "create",
"Actor": {
"ID": "7897095c22919bcdcf39612386bebed63296bc33be250445e6069bf4fe90ce37",
"Attributes": {
"image": "mcr.microsoft.com/dotnet/core/sdk:3.1",
"name": "objective_bhaskara"
}
},
"scope": "local",
"time": 1585135301,
"timeNano": 1585135301351718800
}
你可以使用我发布的
格式Json
函数。你也可以在该命令中添加|ConvertFrom Json | ConvertTo Json
。这回答了你的问题吗?输出有点流,所以它们不起作用。一旦我使用管道,然后我使用jq或ConvertFrom Json等等,就没有输出了*有点流“不是showstopper,您可以使用括号停止流(并将完整的json
文件加载到内存中),或者将流分配给变量。我想我需要先安装jq。让我查一查。我得到了jq:术语“jq”不能被识别为cmdlet、函数、脚本文件或可操作程序的名称。是的。。。一旦你这样做了,它只会给你预期的输出。安装,但没有输出来,不知道我为什么管道通过jq我没有得到输出。因此,这不会给出任何输出docker事件——格式为“{json.}}”| jqTwo点。单一报价不起作用。只有双引号。此外,powershell也不起作用。只有简陋的命令提示符。
{
"status": "create",
"id": "7897095c22919bcdcf39612386bebed63296bc33be250445e6069bf4fe90ce37",
"from": "mcr.microsoft.com/dotnet/core/sdk:3.1",
"Type": "container",
"Action": "create",
"Actor": {
"ID": "7897095c22919bcdcf39612386bebed63296bc33be250445e6069bf4fe90ce37",
"Attributes": {
"image": "mcr.microsoft.com/dotnet/core/sdk:3.1",
"name": "objective_bhaskara"
}
},
"scope": "local",
"time": 1585135301,
"timeNano": 1585135301351718800
}