【问题标题】:docker inspect - format its output as a tabledocker inspect - 将其输出格式化为表格
【发布时间】:2021-04-15 08:04:50
【问题描述】:

如何使用docker inspect--format 选项将其输出作为表格。 在documentation 之后,我使用--format 'table ...' 作为docker ps 的选项,它工作正常,但docker 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

【问题讨论】:

    标签: docker formatting command-line-interface command-line-arguments


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      我设法获得了类似于docker stats 的类似“表格”的输出。主要是利用column 命令。

      例如使用这个命令:

      docker inspect $(docker ps -q) --format "{{.Name}} {{.Config.User}}" | column -t -s ' '
      

      或者,如果您还想要一些花哨的标题:

      (echo "NAME USER"; docker inspect $(docker ps -q) --format "{{.Name}} {{.Config.User}}") | column -t -s ' '
      

      【讨论】:

        猜你喜欢
        • 2023-01-28
        • 1970-01-01
        • 1970-01-01
        • 2016-12-26
        • 1970-01-01
        • 1970-01-01
        • 2014-05-20
        • 1970-01-01
        • 2021-04-19
        相关资源
        最近更新 更多