我觉得这里应该有更好的方法。
我运行以下命令来查看图像的层(nginx
在这种情况下)
docker inspect nginx:latest --format "{{.RootFS.Layers}}"
我得到的输出看起来像这样。
[sha256:f2cb0ecef392f2a630fa1205b874ab2e2aedf96de04d0b8838e4e728e28142da sha256:71f2244bc14dacf7f73128b4b89b1318f41a9421dffc008c2ba91bb6dc2716f1 sha256:55a77731ed2630d9c092258490b03be3491d5f245fe13a1c6cb4e21babfb15b7]
当然这是一个数组。如果没有适当的包装,在命令提示符下看起来更糟。
可以更好地格式化吗?
尝试了以下变化(我所知道的)但没有帮助:(
docker inspect nginx:latest --format "{{json .RootFS.Layers}}" // json
docker inspect nginx:latest --format "table {{.RootFS.Layers}}" // table with double quote
docker inspect nginx:latest --format 'table {{.RootFS.Layers}}' // table with single quote
最佳答案
jq
用于 pretty-print 任何 json
输出
jq
是一个轻量级、灵活且强大的命令行 JSON 处理器。
试试 docker inspect nginx:latest | jq -r '.RootFS.Layers'
Format command and log output | Docker Documentationjoin
使用裸 docker 进行 pretty-print
根据 join
手动的:
join
concatenates a list of strings to create a single string. It puts a separator between each element in the list.docker inspect --format '{{join .Args " , "}}' container
所以,谢谢 @char .嗨建议:
docker inspect --format '{{join .RootFS.Layers "\n"}}'
关于json - 有没有更好的方法来格式化 docker 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61139192/