You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Go模板提取Docker镜像路径最后一段用于docker ps格式化展示

原生Docker CLI实现仅展示镜像名最后一段的解决方案

Docker内置的Go模板不支持直接获取split分割后数组的最后一个元素,最优通用方案是通过管道配合awk做后置处理,全平台兼容且无额外依赖:

直接执行命令

docker ps --format "table {{.Names}}\t{{.Image}}\t{{.Status}}\t{{.Command}}" | awk '
BEGIN { FS=OFS="\t" }
# 第一行直接保留表头
NR == 1 { print }
# 处理数据行,替换镜像列为最后一段/后的内容
NR > 1 {
    split($2, img_parts, "/")
    $2 = img_parts[length(img_parts)]
    print
}'

效果说明

  • 无/的本地镜像会直接保留原名,带多级路径的远程镜像会自动取最后一段(含标签)
  • 全程保持制表符分隔,原有表格的对齐格式不会被破坏,和原生docker ps输出体验一致

长期使用配置

如果需要高频使用,可以将命令设置为shell别名,永久生效:

  1. 打开你的shell配置文件(~/.bashrc/~/.zshrc/~/.config/fish/config.fish)
  2. 加入对应别名配置:
# bash/zsh 配置
alias dps='docker ps --format "table {{.Names}}\t{{.Image}}\t{{.Status}}\t{{.Command}}" | awk '\''BEGIN { FS=OFS="\t" } NR == 1 { print } NR > 1 { split($2, a, "/"); $2 = a[length(a)]; print }'\'''
  1. 重载配置后执行dps即可直接得到期望输出

内容的提问来源于stack exchange,提问作者Benjam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 07:12:02