用bash脚本获取docker images命令的输出

我试图让docker images命令输出显示在网页上。

例如: Docker镜像输出

正如你在图像上看到的,这是格式良好的。

但是,我在我的网页上得到的是一行没有格式化的行;

REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 3448f27c273f 2天前109.4 MB mysql最新e799c7f9ae9c 3天前407.3 MB

这是我的脚本;

 docker_images=$(docker images) echo $docker_images 

我怎样才能得到良好的格式化输出通过我的回声?

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

 echo $docker_images 

 echo "$docker_images" 

请参阅将多行输出捕获到Bashvariables以获取更详细的解释。

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

HTML输出

这个好一点,但是格式不好。 任何想法如何改善这一点?

编辑:

这正在工作,我正在得到我想要的输出。 我必须这样做,

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

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