监控Docker容器内运行的PostgreSQL的正确方法

我正在用CentOS 7 + PostgreSQL 9.4运行docker容器。 使用这个泊坞窗图像 。

所以,在拉取图像之后,我已经按照说明创build了容器,并且公开了PostgreSQL端口5432。

当然,我可以在我的容器中执行一个shell,通过这样做

docker exec -it CONTAINER_NAME /bin/bash 

之后,我以postgres用户身份login。 但我需要安装更多的软件 (基本上,postgres相关的东西,或一些命令行工具)。

编辑:例如,我需要安装lsof工具(在CentOS 7中默认不可用,可以用yum install lsof来安装)。

所以, 我需要一个不同的用户,能够安装软件 。 除非…

我没有做正确的事情,我真正需要的是另一个容器来监视PostgreSQL 。 甚至使用我的主机 (Mac OS X)。 但是,然后… 我怎么能使用像LSOF或HOPT命令 ? 我需要在同一个运行PostgreSQL的容器中。

我对吗?

好的,那很简单

 docker exec -it -u root CONTAINER_NAME /bin/bash -c "yum install lsof"