如果长期以来您对
docker ps
的标准输出不满意,您可能并不孤单。 尽管在这个问题上有各种解决方法
(请参阅本文的结尾) ,但一旦发烧友不得不做“其他事情”……而这种情况将在即将到来的2019年发生。 他的名字叫
docker-pretty-ps 。
作者的想法很平庸:水平输出和颜色清晰。

在听众中,这些实用程序
被称为 “开发人员,而不是核心的DevOps或SRE工程师”。
可能性
从外观上看,所有内容均应从图片中清除。 该实用程序在功能方面允许什么? 默认情况下,将显示所有正在运行的容器,但是,这当然不仅仅限于可能性-docker-pretty-ps支持它:
- 所有容器的输出(包括停止的);
- 通过模板搜索容器:
docker-pretty-ps my,try
将显示找到了*my*
和*try*
名称的容器(例如docker-registry
和mysql-redmine
); - 几个分类选项;
- 每个容器的可定制输出字段(可用:
container_id
, created
, ports
, image_id
, status
, command
); - 紧凑的
slim
输出模式(删除上面列出的所有字段,仅保留容器名称):

- 以JSON格式输出数据。
安装方式
项目代码是用Python编写的,并且作者单独指出,不使用第三方Python软件包,因此启动它就足以在系统中使用Docker和Python,这对许多人来说都是正确的。
通过pip完成安装:
pip install docker-pretty-ps
...或简单的组装:
git clone https://github.com/politeauthority/docker-pretty-ps.git cd docker-pretty-ps python3 setup.py build python3 setup.py install
一切-您可以使用:
$ docker-pretty-ps -h usage: docker-pretty-ps [-h] [-a] [-s] [-i INCLUDE] [-o [ORDER]] [-r] [-j] [-v] [search] positional arguments: search Phrase to search containers, comma separate multiples. optional arguments: …
其他解决方法
尽管Reddit得到了广泛的支持,但该实用程序当然并不适合所有人。 特别是,如果您有许多容器(数十个或更多),那么即使使用
slim
模式也不总是很方便。 然后,一种著名的解决方法可能会更有用。
docker ps-格式
docker ps
的格式化选项不仅是一种解决方法,而且在某种意义上也是最佳解决方案。 就系统中的安装而言,它不需要任何额外的内容。
--format
参数已为许多Docker命令所接受,从而允许(通过
go-template )自定义其输出。 对于
docker ps
团队来说,它的支持早就出现了(在2015年8月发布的Docker 1.8中)。 这是一个用法示例:
[flant] d.shurupov@kube-node-test ~ $ sudo docker ps --format 'table {{.Names}}\t{{.Image}}' NAMES IMAGE k8s_fluentd_fluentd-jmzjd_loghouse… flant/loghouse-fluentd… k8s_cert-manager_cert-manager-… quay.io/jetstack/cert-manager-controller… k8s_prometheus-config-reloader_… 597141b113d9 k8s_prometheus_prometheus-main-… cc866859f8df k8s_POD_prometheus-main-0_kube-… k8s.gcr.io/pause-amd64:3.1 …
(注意:在上面的示例中,手动裁剪了容器和图像的全名,以实现更好的可视化。)例如,可以在
本文中找到有关使用
--format
详细信息,而可以在
Docker文档中找到可用功能的示例。
顶
也许更流行的方法是使用
ctop实用程序,该实用程序提供的界面类似于经典的
top
,但适用于Docker容器:

它在控制台中的方便启动可以简化为这样的别名:
alias ctop='docker run --rm -ti -v /var/run/docker.sock:/var/run/docker.sock quay.io/vektorlab/ctop:latest'
当然,除此之外,还有其他接口(功能更先进),但其描述不在本文讨论范围之内。 你用什么
聚苯乙烯
另请参阅我们的博客: