---
title: "容器别只写 latest：用摘要钉死镜像，出事时才知道自己拉的是哪一层 - Angryecho"
description: "写 image:latest 省事，排查供应链事件时最吃亏：同一天不同小时拉到的层可能不是同一份。更稳的习惯是把标签和内容摘要一起记下来。 常用三步： 拉完立刻记 digest：docker image inspect REPO:TAG --format '{{index ."
canonical_url: "https://www.angryecho.com/c/Docker/p/P2TBBisKGiINAjaDdKi44"
meta:
  "og:description": "写 image:latest 省事，排查供应链事件时最吃亏：同一天不同小时拉到的层可能不是同一份。更稳的习惯是把标签和内容摘要一起记下来。 常用三步： 拉完立刻记 digest：docker image inspect REPO:TAG --format '{{index ."
  "og:image": "https://www.angryecho.com/_og/d/c_Post%2Ctitle_~5ZCQ5qe9572R%2Cdescription_~5ZCQ5qe95LiA5LiL77yM5bCx5LiK5ZCQ5qe9572R44CC%2CpostId_P2TBBisKGiINAjaDdKi44%2Crevision_~MjAyNi0xMC0yN1QwMjo1Nzo0OS4yMjMzNTBa%2Cp_Ii9jL0RvY2tlci9wL1AyVEJCaXNLR2lJTkFqYURkS2k0NCI%2Cs_6qkP8VWwtbXt-vaU.png"
  "og:image:height": "630"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": "容器别只写 latest：用摘要钉死镜像，出事时才知道自己拉的是哪一层"
---

> Index of every page on this site: [llms.txt](https://www.angryecho.com/llms.txt)

# **容器别只写 latest：用摘要钉死镜像，出事时才知道自己拉的是哪一层**

写 `image:latest` 省事，排查供应链事件时最吃亏：同一天不同小时拉到的层可能不是同一份。更稳的习惯是把标签和内容摘要一起记下来。

常用三步：

1. 拉完立刻记 digest： `docker image inspect REPO:TAG --format '{{index .RepoDigests 0}}'`，把 `sha256:…` 写进部署清单。
2. 编排文件尽量写 `image: REPO@sha256:…`，或至少写不可变的具体版本号，而不是漂浮的 `latest` / `main-stable`。
3. CI 里对第三方基础镜像做校验：对比官方公布的 digest，失败就阻断；私有 registry 打开内容信任或签名校验（按你们栈选型）。

出过问题的窗口里，只搜「装过某个版本号」往往不够，还要对照宿主机 / 构建机在可疑时段是否拉取过受影响标签。重建镜像、轮换密钥和清掉被污染的缓存层，比在原环境里「再 pip 一次」更干净。

> 说明：具体签名与策略命令以你们使用的引擎、registry 文档为准；本篇只固定「钉死摘要」这一条习惯。

## 来源

> \[1] [docker pull](https://docs.docker.com/engine/reference/commandline/pull/)，Docker Docs，查阅于2026年10月24日。

#Docker #镜像摘要 #供应链 #运维习惯 #CI

排序方式 :

### **成为第一条评论！**

Nobody's responded to this post yet. Add your thoughts and get the conversation going.

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://www.angryecho.com/c/Docker/p/P2TBBisKGiINAjaDdKi44#post","@type":"DiscussionForumPosting","commentCount":0,"dateModified":"2026-10-27T02:57:49.223Z","datePublished":"2026-10-24T02:22:11.833Z","description":"写 image:latest 省事，排查供应链事件时最吃亏：同一天不同小时拉到的层可能不是同一份。更稳的习惯是把标签和内容摘要一起记下来。 常用三步： 拉完立刻记 digest：docker image inspect REPO:TAG --format '{{index .","headline":"容器别只写 latest：用摘要钉死镜像，出事时才知道自己拉的是哪一层","isPartOf":"https://www.angryecho.com/c/Docker","mainEntityOfPage":"https://www.angryecho.com/c/Docker/p/P2TBBisKGiINAjaDdKi44","text":"写 image:latest 省事，排查供应链事件时最吃亏：同一天不同小时拉到的层可能不是同一份。更稳的习惯是把标签和内容摘要一起记下来。\n\n常用三步：\n\n\n\n\n\n拉完立刻记 digest：docker image inspect REPO:TAG --format '{{index .RepoDigests 0}}'，把 sha256:… 写进部署清单。\n\n\n\n编排文件尽量写 image: REPO@sha256:…，或至少写不可变的具体版本号，而不是漂浮的 latest / main-stable。\n\n\n\nCI 里对第三方基础镜像做校验：对比官方公布的 digest，失败就阻断；私有 registry 打开内容信任或签名校验（按你们栈选型）。\n\n出过问题的窗口里，只搜「装过某个版本号」往往不够，还要对照宿主机 / 构建机在可疑时段是否拉取过受影响标签。重建镜像、轮换密钥和清掉被污染的缓存层，比在原环境里「再 pip 一次」更干净。\n\n\n\n说明：具体签名与策略命令以你们使用的引擎、registry 文档为准；本篇只固定「钉死摘要」这一条习惯。\n\n来源\n\n\n\n[1] docker pull，Docker Docs，查阅于2026年10月24日。\n\n#Docker #镜像摘要 #供应链 #运维习惯 #CI","url":"https://www.angryecho.com/c/Docker/p/P2TBBisKGiINAjaDdKi44","author":{"@type":"Person","name":"遗忘。Forgotten.","url":"https://www.angryecho.com/u/yi_wang_Forgotten_98"},"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/LikeAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/DislikeAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/ShareAction","userInteractionCount":0}]}]}
```

## Sitemap

See the full [sitemap](https://www.angryecho.com/sitemap.md) for all pages.
