如何查看泊坞窗图像的日志?

在docker世界中,可以很容易地看到docker集装箱的日志(即正在运行的图像)。 但在创build图像时,通常会发出多个命令。 例如节点项目中的npm install命令。 查看这些命令的日志也是有益的。 我很快从文档中search,但没有find如何获得docker图像的日志。 可能吗?

最简单的方法是使用tee将所有命令输出的副本发送到日志文件。 如果你想把它附加到图像上,用你的运行命令输出到图像里面的日志文件中,如下所示:

 RUN my-install-cmd | tee /logs/my-install-cmd.log 

然后,您可以运行一个快速的一次性容器来查看日志的内容:

 docker run --rm my-image cat /logs/my-install-cmd.log 

如果您不需要日志附加到图像,您可以logging每个构build的输出与您的生成命令(而不是对运行命令的很多更改)的一个更改完全一样JHarris说:

 docker build -t my-image . | tee my-image.build.log 

如果你不使用--rm=true来构build,那么你拥有所有的中间容器,并且每个容器都有一个日志,你可以查看

 docker logs $container_id 

最后,不要忘记图像中有层次的历史。 他们不显示每个命令的输出,但是对于所有那些不logging任何输出并且知道每个层来自何种构build的命令,特别是在使用大量caching时,这是有用的。

 docker history my-image