首页 > 解决方案 > docker inspect - 将其输出格式化为表格

问题描述

如何使用--format选项docker inspect将其输出作为表格。按照我用作选项的文档,它运行良好,但似乎忽略了它。--format 'table ...'docker psdocker inspect

例子:

echo "docker ps as table"
docker ps -a --format 'table {{.Names}}\t{{.Image}}'

echo "docker inspect as table"
docker ps --quiet | xargs --no-run-if-empty docker inspect \
--format 'table {{.Name}}\t{{.Config.Image}}'

产生输出:

docker ps as table
NAMES                     IMAGE
tmp-php-7.3-cli-buster    tmp-php:7.3-cli-buster
tmp-mysql-8.0.19-client   mysql:8
tmp-mysql-8.0.19          tmp-mysql:8.0.19
tmp-nginx-1.17.8          tmp-nginx:1.17.8
tmp-php-7.3-fpm-buster    tmp-php:7.3-fpm-buster
tmp-node-13.8.0-buster    tmp-node:13.8.0-buster
docker inspect as table
table /tmp-php-7.3-cli-buster\ttmp-php:7.3-cli-buster
table /tmp-mysql-8.0.19-client\tmysql:8
table /tmp-mysql-8.0.19\ttmp-mysql:8.0.19
table /tmp-nginx-1.17.8\ttmp-nginx:1.17.8
table /tmp-php-7.3-fpm-buster\ttmp-php:7.3-fpm-buster
table /tmp-node-13.8.0-buster\ttmp-node:13.8.0-buster

标签: dockerformattingcommand-line-interfacecommand-line-arguments

解决方案


看起来docker inspect目前无法输出表格,请参阅此 GitHub 问题:

我来到这里是因为我也尝试过输出表,但不幸的是,我所能做的就是引用问题中的评论:

TLDR;docker inspect处理 JSON 输出,因此处理 JSON 输出模板,而不是您期望从其他命令(例如docker stats)中获得的格式化字符串
......
这基本上就是为什么 table 没有按预期工作并返回原始状态的原因。


推荐阅读