出品丨Docker公司(ID:docker-cn)
编译丨小东
每周一、三、五晚6点10分 与您不见不散
说在前面
Ctop是一个新的基于命令行的工具,它可用于在容器层级间监控进程。容器通过利用控制器组(cgroup)的资源管理功能,提供了操作系统层级的虚拟化环境。该工具从cgroup收集与内存、CPU、Rx / Tx的相关数据,以及拥有者、开机时间等元数据,并以人性化的格式呈现给用户,这样就可以快速对系统健康状况进行评估。基于所获得的数据,它可以尝试推测下层的容器技术。Ctop也有助于在低内存环境中检测出谁在消耗大量的内存。
如果您选择了Docker作为您的容器服务平台,那么您一定体验过用它创建和部署容器是一件多么简单的事情。有可能您已经在您网络上运行了很多容器。但是,您知道这些容器的性能状况吗?如果您熟悉Linux,您可能希望有一个专门针对容器(类似于top / htop命令)的应用程序出现来帮助您监控容器。
没错,是有这样一款监控容器的应用程序,您可以在Github上找到一款名为ctop的开源工具。有了这个应用程序,您就可以快速监控容器内容,包括它们的名称、ID、CPU、内存和网络Rx / Tx数据。 Ctop甚至允许过滤您正在查看的内容,并给您提供一个选择容器的扩展视图。虽然它可能不会提供大量的功能,但是它完全可以胜任监控容器的这项工作。该工具易于安装,且方便使用。我将在Ubuntu 16.04平台上进行演示(您几乎可以将ctop安装到任何的Linux发行版上)。
安装
安装ctop有两种方式:一种是以容器的方式安装,一种是以应用程序的方式安装。首先,我们将ctop作为容器安装到您的计算机上。因此,需要您登录到您的容器服务器并发出以下命令来部署ctop容器:
docker run -ti -v /var/run/docker.sock:/var/run/docker.sock quay.io/vektorlab/ctop:latest
该命令将下载所需的镜像然后部署容器,并带您进入该应用程序中。要退出ctop,请按[Ctrl] + [x]组合键。以容器的方式使用ctop时,需要您每次都输入上述命令,是不是感到有些麻烦呢?接下来我将向您介绍另一种更简单的方式来使用ctop。
我们可以将ctop作为本地应用程序进行安装。为此,我们将从Github下载可执行文件,将其移入/ usr / local / bin文件夹中,并使用以下命令为其提供必要的权限:
wget https://github.com/bcicen/ctop/releases/download/v0.4.1/ctop-0.4.1-linux-amd64 -O ctop
sudo mv ctop /usr/local/bin/
sudo chmod +x /usr/local/bin/ctop
此时,您可以随时使用ctop命令来启动ctop了,是不是很方便呢。
使用方法
使用ctop很非常简单。一旦您打开ctop (如图A所示),您将看到一个显示所有当前活动容器的列表。
图A:三个正在运行的容器,其使用情况一目了然
正如您所看到的,我的一个名为wonderful_stallman的容器使用了1.37 GB的内存。这个特定的容器是Only Office的一个实例,所以它会使用更多的资源。但是,它几乎占用了我的虚拟机里面所有的系统资源,所以我可能会考虑将这个容器迁移到一个更强大的虚拟机。
使用ctop,您可以轻松地过滤您的容器。假设您的服务器上有大量容器存在,并且希望检查特定部署的资源使用情况。您可以打开ctop,并按下键盘上的f键打开过滤器(如图B所示)。
图B:过滤器已经准备就绪
输入容器的名称,ctop将显示与过滤器匹配的结果。当您的Docker服务器托管多个容器时,这是非常有用的。要清除过滤器,只需再次按下f键,然后按下Enter键即可。
如果您从容器列表中选择一个容器并按下了Enter键,您将会在一个方便阅读的新窗口看到更多信息(如图C所示)。
图C:展开关于OnlyOffice容器的详细信息
要退出这个方便阅读的新窗口,请按下q键。如果要退出ctop,请再次按下q键,返回bash界面。
足够的信息
这就是在Linux上使用ctop来查看容器详细信息的要点。这个工具不能提供大量的信息,但它会给您提供足够的信息来监控容器的运行状况。Ctop很容易成为排除Docker容器故障的第一道防线。
点击下列标题,阅读更多干货
Docker真实应用场景案例解析——ASSA ABLOY
传统应用程序该不该迁移?看完这3点你就知道了!
Docker打破单一架构、平台限制,便捷移植即刻拥有!
传统应用程序上传至云端运行的经典案例,分步计划帮您逐步提升效率!
如果本文对你有帮助,欢迎分享到朋友圈!获取更多Docker实用技巧,扫描下图二维码!