如何以更好的格式显示正在运行的Docker容器

70次阅读
没有评论

问题描述

在Linux终端中使用docker ps命令查看正在运行的Docker容器时,发现默认的输出布局不太方便阅读。他想知道如何在终端上以更好的方式显示所有本地正在运行的Docker容器。
以下是用户在终端上查看docker ps命令输出的上下文:
如何以更好的格式显示正在运行的Docker容器

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

可以使用以下命令来获得一个更好的显示所有正在运行容器的输出:

docker ps -a | grep -v Exited | cut -c1-$COLUMNS

这个命令可以根据终端窗口的大小自动调整输出的宽度。它会过滤掉已经停止的容器,并只显示正在运行的容器。
以下是命令的输出示例:

CONTAINER ID   IMAGE                                               COMMAND                  CREATED             STATUS           0677a58056f3   loud_clamav/av                                      "/bootstrap.sh"          24 minutes ago      Up 24 minutes (heee374532c1bb   localhost:5000/hygge/loudweb-enduser                "/usr/bin/supervisor…"   24 minutes ago      Up 24 minutes  5546cd73ebcc   localhost:5000/hygge/loudweb-admin                  "/usr/bin/supervisor…"   24 minutes ago      Up 24 minutes  5e7c55a950b1   mongo                                               "docker-entrypoint.s…"   24 minutes ago      Up 24 minutes  505909fa4490   mcr.microsoft.com/mssql/server:2017-latest-ubuntu   "/opt/mssql/bin/nonr…"   30 minutes ago      Up 30 minutes  a1ea1d2882f5   localhost:5000/hygge/loudweb-dind/2204280434        "/usr/bin/supervisor…"   About an hour ago   Up 24 minutes  4713b632a08f   tvial/docker-mailserver:latest                      "supervisord -c /etc…"   43 hours ago        Up 24 minutes  010da9fc7fd5   registry:2.7.0                                      "/entrypoint.sh /etc…"   43 hours ago        Up About an houo

这个命令的一个重要优点是它可以动态处理你执行命令时终端的当前大小(注意使用了COLUMNS环境变量)。
你还可以创建一个别名作为快捷方式来运行这个命令,只需将以下内容保存在你的~/.bashrc文件中,这样你就可以直接输入dpss来运行这个命令:

alias dpss='docker ps -a | grep -v Exited | cut -c1-$COLUMNS' #  truncate width shows driven by current terminal size ... to avoid line wrapping

方案2

使用less -S命令可以将输出通过分页显示,以便更好地查看。
如果你想通过分页显示来更好地查看输出,你可以将命令的输出通过管道传递给less -S命令,如下所示:

docker ps -a | grep -v Exited | cut -c1-$COLUMNS | less -S

这将允许你使用上下箭头键来滚动输出,并以分页的方式查看所有正在运行的容器。
请注意,这个命令也会过滤掉已经停止的容器,并只显示正在运行的容器。
以上是两种在终端上以更好的方式显示所有正在运行的Docker容器的解决方案。你可以根据自己的需求选择其中一种方法来使用。

正文完