使用 bash 脚本获取 docker 图像命令的输出
get docker images command's output with bash script
我正在尝试让 docker images
命令输出显示在网页上。
例如:Docker images ouput
正如您在图片上看到的,格式正确。
但是我在网页上得到的是一行根本没有格式化;
REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 3448f27c273f 2 days
ago 109.4 MB mysql latest e799c7f9ae9c 3 days ago 407.3 MB
这是我现在的脚本;
docker_images=$(docker images)
echo $docker_images
如何通过 echo 获得格式正确的输出?
这与 shell 在打印带和不带双引号的变量时如何处理换行符、空格、制表符等有关。要获得所需的输出,请替换
echo $docker_images
与
echo "$docker_images"
请参阅Capturing multiple line output into a Bash variable以获得更详细的解释。
所以我尝试了一个 echo nl2br($output)
给了我这个;
HTML OUTPUT
这有点好,但格式仍然不正确。有什么改进方法吗?
编辑:
现在可以使用了,我得到了我想要的输出。我不得不这样做;
echo "<pre>";
echo nl2br($output) or $output;
echo "</pre>";
好吧,它是纯文本的。如果有人想操纵这些,可以使用dockerAPI。 https://docs.docker.com/engine/api/v1.24/
我正在尝试让 docker images
命令输出显示在网页上。
例如:Docker images ouput
正如您在图片上看到的,格式正确。
但是我在网页上得到的是一行根本没有格式化;
REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 3448f27c273f 2 days ago 109.4 MB mysql latest e799c7f9ae9c 3 days ago 407.3 MB
这是我现在的脚本;
docker_images=$(docker images)
echo $docker_images
如何通过 echo 获得格式正确的输出?
这与 shell 在打印带和不带双引号的变量时如何处理换行符、空格、制表符等有关。要获得所需的输出,请替换
echo $docker_images
与
echo "$docker_images"
请参阅Capturing multiple line output into a Bash variable以获得更详细的解释。
所以我尝试了一个 echo nl2br($output)
给了我这个;
HTML OUTPUT
这有点好,但格式仍然不正确。有什么改进方法吗?
编辑:
现在可以使用了,我得到了我想要的输出。我不得不这样做;
echo "<pre>";
echo nl2br($output) or $output;
echo "</pre>";
好吧,它是纯文本的。如果有人想操纵这些,可以使用dockerAPI。 https://docs.docker.com/engine/api/v1.24/