优雅的显示 docker ps

优雅的显示 docker ps

如图在终端上运行 docker ps 命令时显示的信息很乱,可能是因为终端的宽度不足以正确显示表格,导致输出的列布局混乱。可以尝试以下方法来解决这个问题:

  1. 增加终端宽度: 尝试扩大终端的宽度,以便能够更好地适应 docker ps 的输出。你可以通过调整终端窗口的大小或在终端设置中更改列数来实现。

  2. 【重点】使用 docker ps 参数: 使用 docker ps 命令的不同参数可以更改输出的格式。例如,你可以使用 --format 参数来指定输出的格式。以下是一个示例,将输出格式设置为表格,并仅显示有限的列:

    bash 复制代码
    docker ps -a --format "table {{.ID}}\t{{.Names}}\t{{.Image}}\t{{.Status}}"

    这样可以减少输出的列,使其更容易阅读。

    这样就会显示的清爽很多。

    name问题来了,命令行这么长我记不住怎么办? 解决方案是创建 别名

    bash 复制代码
    alias dockerps='docker ps -a --format "table {{.ID}}\t{{.Names}}\t{{.Image}}\t{{.Status}}"'

    将 带 format 格式化参数的命令保存一个简单好记的别名就可以了。

    也可以将别名添加到 shell 配置文件中(持久性):

    如果你想在每次启动终端时都保留别名,将别名添加到你的 shell 配置文件中。这通常是 ~/.bashrc~/.bash_profile~/.zshrc 等文件。

    bash 复制代码
    echo 'alias dockerps="docker ps --format \"table {{.ID}}\t{{.Names}}\t{{.Image}}\t{{.Status}}\""' >> ~/.bashrc

    带边框

    如果想在 docker ps 输出中添加边框,可以使用 awk 等工具来添加边框。

    bash 复制代码
    docker ps -a --format "table  {{.Names}}\t{{.Image}}\t{{.Status}}" | awk 'BEGIN {print "+--------------+------------------------+---------------------+------------+"} {printf("| %-24s | %-12s | %-19s  |\n", $1, $2, $3)} END {print "+--------------+------------------------+---------------------+------------+"}'
  3. 使用 docker ps 的其他参数:

    • 使用 --quiet 参数只显示容器 ID,减少输出信息。
    • 使用 --size 参数显示每个容器使用的磁盘空间。
    • 使用 --format 自定义输出格式,选择你想要显示的列。
    bash 复制代码
    docker ps --quiet
    docker ps --size
  4. 使用 docker ps 的过滤器: 你可以使用 docker ps 的过滤器来限制显示的容器。例如,你可以使用 --filter 参数按状态过滤容器:

    bash 复制代码
    docker ps --filter "status=running"

通过调整终端宽度、使用合适的参数以及过滤器,应该就能够更清晰地查看 docker ps 的输出。

常用的字段

docker ps --format 选项允许你定义输出的格式,你可以在格式字符串中使用一系列可用的字段,以获取容器的相关信息。以下是一些常用的字段:

ID: 容器的唯一标识符(短ID)。 Names: 容器的名称,通常是一个唯一的标识符。 Image: 使用的镜像名称。 ImageID: 镜像的唯一标识符。 Command: 启动容器时运行的命令。 CreatedAt: 容器的创建时间。 RunningFor: 容器运行的时间。 Ports: 容器的端口映射。 Status: 容器的状态。 Size: 容器使用的磁盘空间大小。 可以通过在 --format 中使用 {{.FieldName}} 的形式来引用这些字段。例如,如果你想获取容器的名称和状态,你可以使用以下格式:

docker ps --format "table {{.Names}}\t{{.Status}}"

相关推荐
liulilittle20 分钟前
C++ 浮点数封装。
linux·服务器·开发语言·前端·网络·数据库·c++
wordbaby31 分钟前
Expo 进阶指南:赋予 TanStack Query “原生感知力” —— 深度解析 AppState 与 NetInfo
前端·react native
Moment37 分钟前
从美团全栈化看 AI 冲击:前端转全栈,是自救还是必然 🤔🤔🤔
前端·后端·面试
天问一1 小时前
使用 Vue Router 进行路由定制和调用的示例
前端·javascript·vue.js
韩立学长2 小时前
【开题答辩实录分享】以《基于Vue的非遗文化知识分享平台的设计与实现》为例进行选题答辩实录分享
前端·javascript·vue.js
优弧2 小时前
离开舒适区100天,我后悔了吗?
前端·后端·面试
胡gh3 小时前
css的臂膀,前端动效的利器,还是布局的“隐形陷阱”?
前端·css·html
灵感菇_3 小时前
Flutter Riverpod 完整教程:从入门到实战
前端·flutter·ui·状态管理
用户21411832636023 小时前
紧急修复!Dify CVE-2025-55182 高危漏洞,手把手教你升级避坑
前端
麻辣兔变形记3 小时前
深入理解微服务下的 Saga 模式——以电商下单为例
微服务·云原生·架构