【问题标题】:get docker images command's output with bash script使用 bash 脚本获取 docker images 命令的输出
【发布时间】:2017-05-13 12:51:31
【问题描述】:

我正在尝试获取 docker images 命令输出以将其显示在网页上。

例如:Docker images ouput

正如您在图片上看到的,它的格式很好。

但是我在网页上看到的是一行根本没有格式化;

存储库标签图像 ID 创建大小 nginx 最新 3448f27c273f 2 天 前 109.4 MB mysql 最新 e799c7f9ae9c 3 天前 407.3 MB

这是我目前的脚本;

docker_images=$(docker images)

echo $docker_images

如何通过 echo 获得格式正确的输出?

【问题讨论】:

    标签: php bash shell docker quoting


    【解决方案1】:

    这与 shell 在打印带有和不带双引号的变量时如何处理换行符、空格、制表符等有关。要获得所需的输出,请替换

    echo $docker_images
    

    echo "$docker_images"
    

    请参阅Capturing multiple line output into a Bash variable 以获得更详细的说明。

    【讨论】:

    • 感谢您的回答。你是对的,这将在 shell 中工作,但这不适用于 php 我仍然在一行中得到它的回显。
    【解决方案2】:

    所以我尝试了echo nl2br($output),它给了我这个;

    HTML OUTPUT

    这有点好,但格式仍然不正确。有什么想法可以改进吗?

    编辑:

    这正在工作,我得到了我想要的输出。我只是不得不这样做;

    echo "<pre>";
    echo nl2br($output) or $output;
    echo "</pre>";
    

    嗯,它是纯文本的。如果有人想操作这些,您可以使用 docker API。 https://docs.docker.com/engine/api/v1.24/

    【讨论】:

      猜你喜欢
      • 2014-08-31
      • 1970-01-01
      • 1970-01-01
      • 2020-03-22
      • 2018-10-01
      • 2020-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多