场景目标
建立覆盖来源、摘要、权限、扫描和生命周期的镜像清单,完成一次独立客户端拉取验证及隔离环境备份恢复检查,并产出不误删运行与回退制品的保留计划。
云原生与容器 · 进阶
建立镜像来源、摘要、扫描、仓库访问和保留规则,验证制品可拉取、可恢复且清理范围可解释。
建立覆盖来源、摘要、权限、扫描和生命周期的镜像清单,完成一次独立客户端拉取验证及隔离环境备份恢复检查,并产出不误删运行与回退制品的保留计划。
登记 Docker Engine/Buildx、Distribution、Trivy 的组织批准版本、镜像架构和存储驱动兼容性,不以浮动 latest 作为部署依据。准备受信任 TLS 证书、DNS、按角色分离的构建与拉取凭据,以及精确限定的仓库管理权限。估算镜像层去重后存储、上传并发、带宽和备份配额,设置构建端磁盘预算。备份需同时覆盖制品存储和恢复所需配置,并先验证隔离恢复;垃圾回收需遵守所选版本关于停止写入或只读模式的要求。240 分钟仅为样本仓库治理验证,不含全量制品迁移、生产清理或跨地域容灾。
镜像从批准来源进入构建端,以摘要关联风险报告和运行引用;Distribution 管理受控推拉,保留计划与独立备份恢复约束后续清理。
点击组件,在图下方查看职责;连线编号对应流向解读。小屏可横向滚动,或直接展开文字说明。
记录源码提交、基础镜像摘要和目标平台,固定输入同时需要更新与重扫计划,不能无限期冻结风险版本。
构建端发起源码或基础镜像读取,返回的内容应能追溯到批准版本与摘要。
使用限定范围的推送身份保存候选镜像,后续分发或发布仍需通过风险与业务判定。
扫描阶段读取候选制品并产出报告,最终仓库摘要需要和受检内容关联核对。
独立客户端发起按摘要拉取,镜像层返回客户端,核对平台与启动结果。
通过实际支持的授权组件限制仓库和动作;错误证书或无权操作应明确失败。
按存储驱动及一致性要求形成可恢复备份,不只复制构建端缓存。
先核对运行和回退引用、dry-run 与停止写入要求,再按维护流程清理,不在本图自动执行。
测试客户端访问隔离恢复出来的仓库,验证保留摘要、权限和内容身份。
未通过恢复验证时暂停实质删除,备份保护范围必须覆盖清理风险。
摘要标识内容,不自动证明发布者身份、业务正确或完整安全;扫描、来源核验和实际运行约束需分别完成。
缓存、标签、manifest 和 blob 是不同对象;远端垃圾回收需要按版本停止写入或进入只读状态,避免并发上传损坏引用。
项目和动作权限依赖所部署 token 服务或代理等能力;备份也必须包括这些恢复所需配置,而不只包括镜像层。
图解是本站基于官方资料整理的逻辑参考;实施前仍需核对实际部署版本、组件支持范围与变更审批。
建议使用 Docker Engine 构建或拉取已批准来源的镜像,Trivy 提供已知风险检查,CNCF Distribution 保存镜像并通过受保护网络分发。镜像摘要标识内容,标签用于表达版本和用途;构建记录应关联源码、目标架构、基础镜像摘要和测试结果。
本方案覆盖单一受控仓库的镜像治理基础,不表示已部署高可用制品平台。TLS 与认证是入口基线,按仓库、项目或动作的精细授权需相应 token 服务或代理等能力;基础 htpasswd 认证不能自动等同于完整项目 RBAC。固定摘要有助于一致性,但不能单独证明发布者可信;扫描通过也不等于完整安全。
授权构建端能推送指定范围、运行端只能拉取所需制品,未授权请求被拒绝;证书有效且无跳过校验。样本镜像在独立测试端按相同摘要成功拉取,目标架构与启动检查通过。保留清单明确覆盖线上和回退引用,清理只在备份与恢复验证后按计划进行,清理后仍可拉取保留摘要。所有 <...> 均为必须替换的占位符。
整理仓库、镜像名称、版本标签、摘要、架构、来源和负责人,将线上运行与回退引用单列为保留对象;同时统计构建端本地缓存与仓库存储,避免混淆两类清理范围。以下命令只读取当前 Docker daemon 的本地状态,执行前核对 Docker context;输出用于样本盘点,不能据此推断远端仓库已经没有引用,也不能直接当作删除清单。
docker context show
docker image ls --digests
docker system df样本镜像均有来源、用途、负责人及对应环境,标签和摘要分开记录。线上及回退所需摘要有保留标记,本地缓存与远端仓库容量分别统计,未知来源或缺失摘要的对象明确进入待核对状态。
本步骤仅查询状态,不删除镜像或缓存。若 Docker context 指向非预期主机,停止后续操作并修正调查范围;保留只读盘点结果,不能用本地未运行作为远端制品可以删除的依据。
先核对仓库域名、证书链、到期时间和客户端信任,再建立构建推送、应用拉取及仓库管理的独立身份;细粒度权限必须由实际支持的授权组件验证。下面 <REGISTRY_HOST> 是已确认域名,命令只请求 API 入口且不携带凭据;受保护仓库通常返回 401 和认证挑战,证书错误应修复信任链,不用跳过校验的参数处理。
curl --silent --show-error --include 'https://<REGISTRY_HOST>/v2/'客户端验证证书成功,未认证请求按设计被拒绝,授权账号只能执行批准动作与仓库范围。拉取账号无法推送或删除,认证和审计记录能够定位主体;入口证书轮换及身份撤销有明确责任人。
恢复先前已验证的代理或认证配置,并停用新增测试身份;涉及访问中断时先恢复受控拉取路径。保留证书与授权排查证据,不开放匿名写入或切换不安全仓库来临时恢复构建。
为业务镜像定义命名、标签与摘要记录规则,标签可表达提交或发行版本,但部署和回退记录使用实际摘要。基础镜像来源须经核对,固定摘要时同步建立更新与重扫计划,避免长期冻结已知风险;构建上下文排除密钥与无关文件,采用适合应用的最小运行层。多架构镜像应分别验证 manifest 和实际运行平台,不把单一架构通过当作所有平台通过。
样本镜像能追溯到源码提交、基础镜像和目标平台,发布记录包含不可混淆的摘要。构建上下文及最终层无不应打包的敏感内容,各声明支持的架构都具备对应测试或明确的待验证状态。
恢复上一已验证构建定义并停止推进错误摘要,保留失败制品的受限排查记录。已对外使用的标签不要悄悄改指旧内容掩盖问题,应按版本记录恢复引用,确保运行端知道实际使用的是哪个摘要。
对明确摘要的候选镜像运行风险扫描,记录工具版本、漏洞库时间、扫描范围和执行状态;按业务策略评估严重度、修复版本和有效例外,不只统计一个总数。漏洞库过期、无法识别依赖或扫描执行失败应显示为未完成,不能默认放行。将报告与同一摘要关联,镜像更新后重新评估;已知漏洞检查之外仍需来源核验、密钥检查和实际运行约束。
样本报告与镜像摘要一致,策略阻断和扫描器错误可以区分,失败结果不能进入已验收清单。风险例外注明责任人、理由和期限,过期报告及未覆盖架构保持待验证,不被描述为完整安全证明。
暂停候选摘要的分发或发布推进,保留报告和例外记录;误判需在评审后调整规则并重扫同一对象。不要通过全局关闭扫描或覆盖报告解除门禁,已有运行镜像按业务修复计划处置。
选择与构建缓存隔离的测试客户端,使用只读凭据按已记录摘要拉取样本,核对仓库返回身份、架构和启动行为;受限测试环境不接入生产数据与外部写服务。比较拉取与构建报告的摘要,确认镜像清单和实际平台对应关系,并测量样本拉取耗时与错误类型。记录客户端信任配置和凭据来源,确保流程不依赖构建机遗留的管理员登录状态。
独立客户端使用只读身份可拉取指定摘要,镜像平台和启动检查符合约定;错误凭据、无权仓库和不匹配平台会明确失败。样本耗时及带宽占用有记录,制品身份与扫描和发布清单一致。
停止测试容器并撤销临时拉取凭据,按明确清单处理测试客户端产生的可恢复资源。若摘要不一致或客户端依赖过宽权限,停止推广并恢复上一已验证引用,保留仓库与客户端诊断证据。
按线上引用、回退窗口、发行版本和业务保留要求建立保护清单,再识别候选废弃 manifest;多平台清单及其引用应一起核对。标签移除、manifest 删除和 blob 垃圾回收是不同动作,不能把本地 prune 当作远端治理。先备份并在隔离副本验证所选版本的 dry-run;实际 GC 必须遵守停止写入或只读模式要求,避免并发上传时误清仍需使用的层。
候选清理项均有可解释原因且不在运行或回退保护清单内,dry-run 对象与预期一致。备份覆盖恢复所需数据和配置,维护窗口及停止写入措施明确,估算可回收空间未被当作已经完成的释放结果。
在真正删除前发现引用不清或 dry-run 异常时取消清理,保持原数据不变。已进入维护状态则按计划恢复写入并确认客户端正常;任何实质删除失败均转入已验证的备份恢复流程,不继续扩大清理。
在隔离环境从备份恢复样本仓库及必要配置,以受控测试身份按保留摘要拉取,核对内容、权限和恢复耗时;生产仓库不作为首次恢复练习对象。交接镜像命名、摘要清单、风险报告、证书与凭据轮换、容量预警和清理审核责任。对尚未演练的全量迁移或跨地域恢复明确标注边界,定期复核长期保留镜像的实际引用与更新需求。
隔离恢复后的保留摘要可拉取且身份一致,访问控制与证书配置符合测试范围,恢复耗时和缺口有证据。维护清单明确到人,未演练的容灾能力保持待验证,后续清理具备可复用的核对和停止条件。
结束隔离恢复测试并按准确资源清单回收临时实例及身份,保留备份本体和验证记录。恢复失败时暂停生产清理或迁移,修复备份覆盖与恢复步骤后重新验证,不依赖未验证备份执行删除。