在docker堆栈上运行

atop是我安装在我的所有服务器上的一个工具,用于在debugging站点事件时查看计算机上发生了什么。 有没有一个很好的“docker”的方式来运行在你的船队,或者我应该只是运行在docker的下面的操作系统?

与此相关的是我喜欢的所有其他工具都要debugging问题: straceiotophtoptcpdumpperf等等。人们在做什么来弥补这个小生意。

您可以通过使用--pid=host运行容器来实现此--pid=host (请参阅Docker运行参考 ;

在某些情况下,您希望您的容器共享主机的进程名称空间,基本上允许容器中的进程查看系统上的所有进程。 例如,您可以使用stracegdb等debugging工具构build容器,但希望在debugging容器内的进程时使用这些工具。

可以在这里find一个Dockerfile来运行由Docker维护者之一创build的htop的例子。 https://github.com/jfrazelle/dockerfiles/blob/master/htop/Dockerfile (以及该存储库中的更多优秀示例)。 在Docker Hub上可以find该映像的自动构build; https://hub.docker.com/r/jess/htop/

像这样运行

 docker run --rm -it --pid host jess/htop