rkt list 命令完全指南:查看与诊断 rkt Pod 的终极工具
容器运行时云原生网络【免费下载链接】rkt[Project ended] rkt is a pod-native container engine for Linux. It is composable, secure, and built on standards.项目地址https://gitcode.com/gh_mirrors/rk/rkt点击查看免费下载rkt list是 rkt 容器引擎中用于列出主机上所有 rkt Pod的核心命令。它以表格形式展示每个 Pod 的 UUID、应用、镜像、运行状态、创建与启动时间以及网络信息是日常运维、故障排查和脚本化集成的第一入口。读完本文你将掌握rkt list的全部输出字段含义、--full/--no-legend/--format等参数用法并深入理解其底层的 Pod 生命周期状态机与数据目录结构。命令概览rkt list通过 rkt/list.go 中的cmdList命令实现其定义如下命令名list功能简介List pods列出 Pod详细描述Displays a table of information about the pods以表格形式显示关于 Pod 的信息该命令会遍历 rkt 数据目录下所有处于可见状态的 Pod详见下文“哪些 Pod 会被列出”并为每个 Pod 内的每个应用app输出一行记录。因此一个包含多个应用的多应用 Pod 会在列表中占据多行这是理解输出格式的关键。基础用法列出所有 Pod直接运行rkt list即可列出当前主机上的全部 rkt Pod$ rkt list UUID APP IMAGE NAME STATE CREATED STARTED NETWORKS 5bc080ca redis redis running 2 minutes ago 41 seconds ago default:ip4172.16.28.7 etcd coreos.com/etcd:v2.0.9 3089337c nginx nginx exited 9 minutes ago 2 minutes ago输出字段逐列解读列名含义UUIDPod 的通用唯一标识符。默认仅显示前 8 个字符短格式使用--full显示完整 UUIDAPPPod 内应用app的 name 字段来自 Pod Manifest 中apps[].nameIMAGE NAME应用所使用镜像的完整名称。若镜像 manifest 带有versionlabel则显示为name:version形式如coreos.com/etcd:v2.0.9STATEPod 的当前状态取值见下文“状态值说明”CREATEDPod 的创建时间即 prepare 阶段完成的时间默认以人类可读的相对时间显示如2 minutes agoSTARTEDPod 的启动时间stage1 进程拉起的时间同样默认为相对时间NETWORKSPod 使用的网络及 IP格式为网络名:ip4IP多个网络用逗号分隔多应用 Pod 的显示规则从源码 rkt/list.go 可以看出对于一个包含多个应用的 Pod第一行输出完整的 UUID、状态、创建/启动时间和网络信息同一 Pod 的后续应用行中UUID、STATE、CREATED、STARTED、NETWORKS 列会被清空源码中专门注释说明这些字段描述的是 Pod 而非应用避免重复打印。因此示例中 redis 与 etcd 属于同一个 PodUUID 均为5bc080ca而5bc080ca只在第一行出现。这一点在解析输出做自动化时务必注意。时间显示规则CREATED与STARTED的显示逻辑位于 rkt/list.go默认非--full使用humanize.Time显示相对时间如2 minutes ago--full模式下使用defaultTimeLayout格式2006-01-02 15:04:05.999 -0700 MST显示完整时间戳该常量定义在 rkt/image_list.go若 Pod 尚未启动started时间为零值STARTED列保持为空。查看完整信息--full 参数使用--full标志可以查看完整 UUID 以及镜像 ID$ rkt list --full UUID APP IMAGE NAME IMAGE ID STATE CREATED STARTED NETWORKS 5bc080cav-9e03-480d-b705-5928af396cc5 redis redis sha512-91e98d7f1679 running 2016-01-25 17:42:32.563 0100 CET 2016-01-25 17:44:05.294 0100 CET default:ip4172.16.28.7 etcd coreos.com/etcd:v2.0.9 sha512-a03f6bad952b 3089337c4-8021-119b-5ea0-879a7c694de4 nginx nginx sha512-32ad6892f21a exited 2016-01-25 17:36:40.203 0100 CET 2016-01-25 17:42:15.1 0100 CET--full带来的变化有三点对应源码 rkt/list.goUUID 显示完整不再截取前 8 位输出完整的 36 字符 UUID新增IMAGE ID列显示应用镜像的哈希 ID取sha512-哈希的前 19 个字符例如sha512-91e98d7f1679时间改为完整格式CREATED、STARTED从相对时间变为精确到毫秒的完整时间戳并带上时区如0100 CET。镜像 ID 与镜像名称的源码依据IMAGE ID取自 Pod Manifest 中apps[].image.idrkt/list.go是 appc spec 规定的镜像内容哈希IMAGE NAME通过getImageName()函数读取应用的 ImageManifest 获得若该镜像的 manifest 带有versionlabel则显示为name:version见 rkt/list.go。这就是coreos.com/etcd:v2.0.9这类带版本号名称的来源。隐藏表头--no-legend 参数--no-legend用于抑制表格顶部的列标题行其 flag 定义与--full一样位于 rkt/list.go$ rkt list --no-legend 5bc080ca redis redis running ...该参数非常适合脚本化场景——直接使用awk、cut等文本工具按列解析 Pod 信息无需跳过首行标题。这一用法在仓库的集成测试中大量出现例如tests/rkt_tests.go 中通过rkt list --full | grep ^[a-f0-9] | awk {print $1}提取 Pod UUID 再传给rkt enter/rkt statustests/rkt_pid_file_test.go 中通过rkt list --full | grep running筛选处于运行态的 Pod。Options 参数总表以下是rkt list的完整参数列表来自原文档表格并补充了源码中实际存在的--format参数Flag默认值可选值说明--fullfalsetrue或false使用长输出格式完整 UUID、增加 IMAGE ID 列、完整时间戳--no-legendfalsetrue或false抑制列表顶部的图例列标题--formattabbed 表格json、json-pretty选择输出格式不指定时输出键值对/表格格式详见下文注--format在 rkt/list.go 中定义虽然未出现在原文档表格中但属于该命令的真实可用参数。json输出紧凑json-pretty输出带缩进的格式化 JSON。JSON 输出--format 参数除表格输出外rkt list还支持结构化 JSON 输出便于与其他工具或语言集成。在源码 rkt/list.go 中runList根据flagFormat选择三种输出方式outputFormatTabbed默认走tabwriter输出对齐表格outputFormatJSONjson.Marshal紧凑输出outputFormatPrettyJSONjson.MarshalIndent带缩进输出。$ rkt list --formatjson [{uuid:5bc080cav-9e03-480d-b705-5928af396cc5,state:running,networks:[{netName:default,ip:172.16.28.7,flags:0}],...}] $ rkt list --formatjson-pretty [ { uuid: 5bc080cav-9e03-480d-b705-5928af396cc5, state: running, ... } ]JSON 对象由 lib/pod.go 中的NewPodFromInternalPod()构造v1.Pod类型定义于 api/v1/json.go包含字段说明uuid完整的 Pod UUIDstatePod 状态字符串networks网络列表网络名、IP 等createdAt/startedAtUnix 时间戳秒appNames/appsPod 中的应用名列表及应用详情userAnnotations等Pod Manifest 中的用户注解等附加信息--format取值解析逻辑位于 rkt/image_list.gooutputFormat.Set方法空字符串或未指定时回退到 tabbed 表格格式json与json-pretty分别对应紧凑与美化 JSON。--formatjson的测试用例可参考 tests/rkt_list_test.go验证 JSON 输出中包含 Pod 的 IP 地址。列出的都是哪些 Pod数据目录与状态目录结构rkt list的数据来源于 rkt 数据目录默认/var/lib/rkt可通过全局选项--dir修改下的pods/子目录。pkg/pod/pods.go 定义了 Pod 在文件系统中按生命周期阶段分布的六个目录目录对应状态pods/embryo胚胎期创建后、进入准备前pods/preparepreparing准备中或 aborted prepare准备中断pods/preparedprepared已准备完成pods/runrunning运行中或 exited已退出pods/exited-garbageexited garbage已退出且被标记为垃圾pods/garbagegarbage从未运行但被标记为垃圾默认包含与排除的目录rkt list通过pkgPod.WalkPods(getDataDir(), pkgPod.IncludeMostDirs, ...)遍历 Podrkt/list.go。IncludeMostDirs掩码定义在 pkg/pod/pods.go包含run运行中/已退出、exited-garbage、prepare、prepared四个目录排除embryo胚胎期尚不可用和garbage垃圾即将被 GC 清理。也就是说运行中、已退出、已准备完成尚未运行以及准备中断的 Pod 都会被列出而胚胎期与已被标记为垃圾的 Pod 不会出现在默认输出中。状态值说明STATE列的取值来自Pod.State()方法pkg/pod/pods.go完整的状态集定义在同一文件的常量区pkg/pod/pods.go状态值含义embryo胚胎期目录已创建但尚未开始准备preparing准备中正在拉取镜像、生成 manifestaborted prepare准备中断prepare 未完成就失败/被打断prepared已准备完成可被run-prepared启动running运行中deleting删除中从未运行的垃圾 Pod 正在被删除exited deleting已退出且正在被删除exited已退出exited garbage已退出且被标记为垃圾garbage从未运行但被标记为垃圾值得注意的是exited与running的区分并非只看目录Pod 的run目录在运行时被排他锁持有解锁即表示退出。WalkPods与refreshState正是通过尝试加共享锁来判断 Pod 究竟是 running 还是 exited见 pkg/pod/pods.go 的锁推断逻辑。整个生命周期状态机的详细说明可参阅 Documentation/devel/pod-lifecycle.md。网络信息 NETWORKS 的获取NETWORKS列由fmtNets()函数格式化rkt/list.go对于 Pod 使用的每个网络输出网络名:ip4IP多个网络以,分隔。网络信息在getPod()时通过netinfo.LoadAt()从 Pod 目录的 netinfo 文件加载pkg/pod/pods.go若 Pod 以--nethost运行则无该文件此时NETWORKS为空。相关网络概念可参考 Documentation/networking/overview.md。使用场景与实战场景一定位运行中的 Pod 并进入结合--no-legend与grep可以快速筛选特定状态的 Pod。仓库测试 tests/rkt_env_test.go 展示了这种典型用法$ UUID$(rkt list --full | grep running | awk {print $1}) $ rkt enter $UUID /inspect --print-envVAR_FROM_MANIFEST场景二验证创建/启动时间rkt list --full输出的时间信息可以被精确解析。集成测试 tests/rkt_list_test.goTestRktListCreatedStarted验证了CREATED对应 prepare 完成的时间在测试中即rkt prepare执行时刻STARTED对应rkt run-prepared启动时刻。两个时间均可通过正则.*imageID\\t.*\\t(.*)\\t(.*)\\t从--full输出中提取并与预期时间做约 2 秒精度的比对。这证明rkt list的时间列可以直接用于自动化校验 Pod 生命周期。场景三确认镜像与应用的对应关系默认输出中IMAGE NAME若带版本则显示为name:version来自镜像 manifest 的 version label--full模式下IMAGE ID给出镜像的sha512-前缀内容哈希。可用于核对 Pod 实际使用的镜像版本排查“Pod 里跑的是不是预期镜像”这类问题。表格对齐的实现细节rkt list的表格列对齐由 Go 标准库的tabwriter完成。getTabOutWithWriter()rkt/rkt.go初始化tabwriter.Writer参数(writer, 0, 8, 1, \t, 0)表示最小宽度 0、tab 宽度 8、padding 1、使用 tab 分隔。这就是输出中列与列之间会有一个空格对齐的原因。全局选项rkt list继承rkt的所有全局选项完整的全局选项表格见 Documentation/commands.md。与rkt list最相关的几个Flag默认值说明--debugfalse输出更多调试信息到 stderr可帮助排查 list 失败原因--dir/var/lib/rkt指定 rkt 数据目录。若使用自定义数据目录rkt list将只列出该目录下的 Pod数据目录路径通过getDataDir()解析--system-config/--local-config/--user-config/usr/lib/rkt//etc/rkt/ 空系统级 / 本地级 / 用户级配置目录用于影响镜像仓库认证、路径等解析例如使用自定义数据目录时$ rkt --dir/data/rkt list常见问题Q1为什么一个 Pod 会在rkt list中显示多行因为输出按应用粒度组织每个应用一行。多应用 Pod如同时运行 redis 和 etcd会占用多行且从第二行起 UUID/STATE 等 Pod 级字段为空。Q2为什么IMAGE ID只有 19 个字符而不是完整哈希这是 rkt/list.go 中的有意截断app.Image.ID.String()[:19]仅显示sha512-前缀加前 12 位哈希共 19 字符便于阅读与 grep。Q3rkt list看不到刚创建的 Pod如果 Pod 正处于embryo状态prepare 前的短暂阶段或已被标记为garbage默认输出不会包含它。需要等待 prepare 完成或排查 Pod 是否因 prepare 失败而进入aborted prepare状态。Q4rkt list与rkt status的区别rkt list提供全局的 Pod 总览表格 JSONrkt status uuid则针对单个 Pod 输出更详细的信息包括各应用的退出码、PIDs、注释等见 rkt/status.go。日常巡检用rkt list深入诊断用rkt status。Q5--full与--no-legend能同时使用吗可以。两者是独立 flag组合使用如rkt list --full --no-legend会输出带完整 UUID/IMAGE ID、无表头的长格式是脚本解析最常用的组合。小结rkt list是 rkt 运维中最高频的命令之一默认输出短格式表格展示 UUID前 8 位、应用、镜像、状态、时间与网络--full提供完整 UUID、镜像 ID 与精确时间戳--no-legend便于脚本解析--formatjson/json-pretty支持结构化输出其数据来自/var/lib/rkt/pods/下按生命周期状态组织的目录通过锁文件区分running与exited默认排除embryo与garbage状态的 Pod相关实现见 rkt/list.go、pkg/pod/pods.go测试见 tests/rkt_list_test.go。赞分享容器运行时云原生网络【免费下载链接】rkt[Project ended] rkt is a pod-native container engine for Linux. It is composable, secure, and built on standards.项目地址https://gitcode.com/gh_mirrors/rk/rkt点击查看免费下载相关推荐容器调试终极指南rkt诊断工具与日志分析实战容器调试终极指南rkt诊断工具与日志分析实战 你是否还在为容器故障排查耗费数小时本文将系统讲解rkt容器引擎的诊断工具链与日志分析方法帮助你快速定位容容器运行时云原生网络rkt run 命令完全指南以 Pod 为单位运行应用容器rkt run 命令完全指南以 Pod 为单位运行应用容器 rkt run 是 rkt一款面向 Linux 的 pod 原生容器引擎的核心子命令用于将容器运行时云原生网络如何用 Humanizer 把 AI 初稿改出真人腔调如何用 Humanizer 把 AI 初稿改出真人腔调 你用 AI 写完一篇初稿自己念到第二句就开始皱眉serves asvibrantin or容器运行时云原生网络上一篇Lightweight Charts™ iOS 集成指南使用 iOS Wrapper 在 Swift 应用中渲染金融图表v3.8下一篇告别混乱的内部文档用bert-base-multilingual-cased构建下一代企业知识管理创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

External-DNS 生产环境运维最佳实践:作用域、内存、规模与可观测性调优指南

External-DNS 生产环境运维最佳实践:作用域、内存、规模与可观测性调优指南

云原生 【免费下载链接】external-dns Configure external DNS servers dynamically from Kubernetes resources 项目地址: https://gitcode.com/gh_mirrors/ex/external-dns 点击查看 免费下载 本指南围绕 external-dns 在生产环境的可靠运行展开,聚焦…

2026/9/25 5:28:24 阅读更多 →
Delphi 12.3 下 ReportMachine 7.0 报表控件安装与实战避坑指南

Delphi 12.3 下 ReportMachine 7.0 报表控件安装与实战避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 5:28:24 阅读更多 →
数据结构课程设计验收指南:链表、排序与调试工具全流程避坑

数据结构课程设计验收指南:链表、排序与调试工具全流程避坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 5:28:24 阅读更多 →

最新新闻

内容枯竭一表破局:social-media-skills的content-matrix与niche-research如何一次产出32+选题

内容枯竭一表破局:social-media-skills的content-matrix与niche-research如何一次产出32+选题

内容枯竭一表破局:social-media-skills的content-matrix与niche-research如何一次产出32选题 【免费下载链接】social-media-skills 项目地址: https://gitcode.com/gh_mirrors/so/social-media-skills 做个人品牌最折磨人的瞬间,就是打开编辑器…

2026/9/25 11:00:38 阅读更多 →
Android ListView 配 TaoToken:simpleCursorAdapter 数据绑定与 settings.json 骨架

Android ListView 配 TaoToken:simpleCursorAdapter 数据绑定与 settings.json 骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 11:00:38 阅读更多 →
PX4 首飞安全指南:从场地选择、预飞检查到应急开关配置的完整实操手册

PX4 首飞安全指南:从场地选择、预飞检查到应急开关配置的完整实操手册

嵌入式物联网机器人自动驾驶智能硬件 【免费下载链接】PX4-Autopilot PX4 Autopilot Software 项目地址: https://gitcode.com/gh_mirrors/px/PX4-Autopilot 点击查看 免费下载 导读:本文基于 PX4 官方文档《First Flight Guidelines》展开,…

2026/9/25 11:00:38 阅读更多 →
构建 Agent 的五大难点与解决方案:用 TaoToken 统一 Key 打通 LLM 与 Function Calling

构建 Agent 的五大难点与解决方案:用 TaoToken 统一 Key 打通 LLM 与 Function Calling

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 11:00:37 阅读更多 →
Claude Code 配 TaoToken:settings.json 骨架与 PowerShell 验证

Claude Code 配 TaoToken:settings.json 骨架与 PowerShell 验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 11:00:37 阅读更多 →
git贡献者代码统计:用TaoToken统一Key跑通多仓库提交分析脚本

git贡献者代码统计:用TaoToken统一Key跑通多仓库提交分析脚本

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 10:59:37 阅读更多 →

日新闻

AI元人文:从工具使用到思维重构的深度探索

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:00:41 阅读更多 →
Python+CNN车牌识别实战:从数据预处理到模型训练与部署

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:00:41 阅读更多 →
Vim基础操作全攻略:保存退出、模式切换与高频命令实战

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/25 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →