问题描述
在Linux终端中使用docker ps
命令查看正在运行的Docker容器时,发现默认的输出布局不太方便阅读。他想知道如何在终端上以更好的方式显示所有本地正在运行的Docker容器。
以下是用户在终端上查看docker ps
命令输出的上下文:
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案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容器的解决方案。你可以根据自己的需求选择其中一种方法来使用。
正文完