写点什么

Docker 内容信任退役,替代方案蓬勃发展

作者:Matt Saunders

  • 2025-08-26
    北京
  • 本文字数:1328 字

    阅读完需:约 4 分钟

大小:673.36K时长:03:49
Docker内容信任退役,替代方案蓬勃发展

随着 Docker 内容信任(Docker Content Trust,DCT)的使用量下降,以及其他类似的产品取代了它的功能和易用性,Docker 宣布 Docker 内容信任(DCT)即将退役。Docker 建议使用 DCT 的组织转向使用SigstoreNotation等替代方案。

 

DCT 通过允许镜像发布者使用私钥对容器镜像进行数字签名,然后通过 Docker Notary 服务器存储在注册表中的公钥进行验证。DCT 在拉取镜像时检查这些数字签名,创建一个信任链,帮助防止篡改,并确保镜像来自可信来源。这个过程防止了未签名容器镜像的部署。DCT 于 2015 年作为使用更新框架(TUF)的验证系统推出,并作为孵化项目“Notary”捐赠给了云原生计算基金会。

 

根据 Docker 的公告,使用量已显著下降。Docker 的 Brian Pratt 表示:“如今,使用 DCT 的 Docker Hub 镜像拉取不到 0.05%,微软最近宣布在 Azure 容器注册表中弃用 DCT 支持。”

 

Pratt 解释了退役 DCT 的原因:

 

上游 Notary 代码库不再积极维护,生态系统已经转向了更新的镜像签名和验证工具。

——Brian Pratt

 

退役始于 2025 年 8 月 8 日,当时 Docker 官方镜像的最老的 DCT 签名证书开始过期。启用了 DOCKER_CONTENT_TRUST 环境变量的用户将会遇到拉取失败,现在必须关闭此设置。docker trust inspect 命令也停止了对 Docker 官方镜像的工作。

 

对于寻求替代 DCT 或实现其功能的组织,有许多选择,Snyk的一篇文章记录了几种可能的替代方案。Sigstore Cosign通过 OIDC 身份和透明度日志提供无钥匙签名,因此,它没有管理临时密钥的复杂性。Cosign 提供了一个去中心化和联合的信任委托模型,拥有强大的社区支持,适合优先考虑跨多个注册表安全透明软件更新的组织。

 


Notary项目为保护软件供应链提供了规范和工具。Notary V2(Notation)提供了一种规范驱动的方法来签名和验证容器镜像,支持多个签名并集成到现有的 PKI 中。DCT 只支持每个镜像一个签名,这意味着如果供应商已经签名了镜像,组织无法添加额外的审批签名。与 DCT 不同,Notary v2 通过多个签名启用验证,允许组织添加审批链。然而,该项目需要更复杂的设置,涉及 TLS 证书和 TUF 密钥管理。

 

微软的Azure容器注册表团队提供了一个具体的过渡时间表。从 2025 年 9 月 30 日起,客户将无法在新注册表上启用 Docker 内容信任,所有 DCT 数据将在 2028 年 3 月 31 日被永久删除,届时该功能将被完全移除。在这个 Github 拉取请求中,Azure 推广迁移到 Notary 项目生态系统,特别是 Notation 工具。这将带来诸如 OCI 标准合规性、Azure Key Vault 密钥管理集成和 CI/CD 管道集成等优势。

 

设置 DCT 需要完整的基础设施,包括 Notary 服务器、Notary 签名者、Notary 客户端和带有相互 TLS 配置的 MySQL 数据库。此外,在注册表之间移动镜像时,如果没有附带 Notary 服务器,签名数据会丢失,这限制了 DCT 的互操作性。Nigel Douglas 在All Things Open上写道,现代替代方案通过改进的互操作性、更好的密钥管理和更好的集成到开发工作流程中,部分解决了这些限制。Sigstore 将所有签名存储在公共注册表中,以提高透明度和可审计性,并支持大多数生产注册表。Notary v2 为签名 OCI 镜像提供了全面的跨注册表规范,尽管注册表支持仍然有限。

 

Docker 计划使用现代工具为 Docker 官方镜像实现一个现代镜像签名解决方案,尽管细节尚未公布。

 

原文链接:

https://www.infoq.com/news/2025/08/docker-content-trust-retired/

2025-08-26 13:004043

评论

发布
暂无评论

MySQL库表设计小技巧

Simon

MySQL 数据库设计

报告|50%CRM品牌陷入竞争旋涡,破圈迫在眉睫

人称T客

Flink 1.11 Unaligned Checkpoint 解析

Apache Flink

flink

网传Intel断供浪潮,英特尔:供应链调整

Geek_116789

一口气说出 4 种分布式一致性 Session 实现方式,面试杠杠的~

楼下小黑哥

nginx redis 分布式 session

Newbe.Claptrap 框架入门,第二步 —— 简单业务,清空购物车

newbe36524

容器 微服务 Reactive .net core ASP.NET Core

架构师都该懂的 CAP 定理

闻人

架构 分布式 架构师

k8s极简史:K8s多集群技术发展的历史、现状与未来

华为云开发者联盟

Kubernetes 容器 云原生 华为云

凡架构必拆分,分则有度

菜根老谭

微服务 康威定律 架构思维 分治思维

什么?不写代码也能做功能开发!- RUOYI教程

Java_若依框架教程

Java 技术 后端 开发 框架

金融科技的碎片化思考(上)

曲水流觞TechRill

金融科技 FinTech

波士顿动力狗 SPOT 权威购买指北

早睡蟒

Python 人工智能 学习 波士顿动力 机械狗

来自前端童鞋对后端的吐槽@#$%^

Java小咖秀

程序员 程序人生 大前端

「架构师训练营」第 7周作业 - 性能测试

森林

Flask 的 url 处理器

Leetao

Python flask Web框架

架构师第七周总结

傻傻的帅

架构师

存储性能加速引擎之预读

焱融科技

Linux sds 焱融科技 分布式存储 预读

企业架构框架之DoDAF

冯文辉

企业架构

计算机网络基础(七)---网络层-ICMP协议

书旅

计算机网络 网络协议 网络层

数据库周刊33丨5大国产数据库中标中国移动;Oracle7月CPU安全预警;腾讯Tbase新版本发布;“2020数据技术嘉年华”有奖话题遴选;阿里云技术面试题;APEX 实现数据库自动巡检;MYSQL OCP题库……

墨天轮

MySQL 数据库 oracle 阿里云 面试

智能标注原理揭秘,一文读懂人工智能如何解决标注难题

百度大脑

人工智能 百度 学习 AI 百度大脑

实操案例:字符串哈希表操作

华为云开发者联盟

程序员 编程语言 C语言 哈希表 字符串

itchat替代品,追妹子神器,个人微信给多个好友(群)发消息,定时提醒妹子喝水

Java_若依框架教程

技术 后端 itchat 微信消息 定时提醒

Java 面向对象知识整理

多选参数

Java 编程

压测脚本

LEAF

最新:英特尔断供浪潮系内部供应链调整,现已恢复供货

Geek_116789

Flink 最佳搭档:开发部署平台 Zeppelin 的自白

Apache Flink

有趣的“第二个系统”

架构精进之路

提升认知 研发体系

tomcat 使用apr

zack

tomcat

「架构师训练营」第 7 周作业 - 总结

森林

Oracle JDK7 bug 发现、分析与解决实战

vivo互联网技术

Docker内容信任退役,替代方案蓬勃发展_软件工程_InfoQ精选文章