docker-pretty-ps-最终是可读的docker ps

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

作者的想法很平庸:水平输出和颜色清晰。



在听众中,这些实用程序被称为 “开发人员,而不是核心的DevOps或SRE工程师”。

可能性


从外观上看,所有内容均应从图片中清除。 该实用程序在功能方面允许什么? 默认情况下,将显示所有正在运行的容器,但是,这当然不仅仅限于可能性-docker-pretty-ps支持它:

  • 所有容器的输出(包括停止的);
  • 通过模板搜索容器: docker-pretty-ps my,try将显示找到了*my**try*名称的容器(例如docker-registrymysql-redmine );
  • 几个分类选项;
  • 每个容器的可定制输出字段(可用: container_idcreatedportsimage_idstatuscommand );
  • 紧凑的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'

当然,除此之外,还有其他接口(功能更先进),但其描述不在本文讨论范围之内。 你用什么

聚苯乙烯


另请参阅我们的博客:

Source: https://habr.com/ru/post/zh-CN436896/


All Articles