写点什么

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:003948

评论

发布
暂无评论

018云原生之基础架构

穿过生命散发芬芳

云原生 10月月更

【LeetCode】环形链表Java题解

Albert

算法 LeetCode 10月月更

央行数字货币即将破茧,一场大变局,震撼全球

CECBC

Minio环境搭建

Fox666

Minio 分布式文件存储

趣说 Node.js 的事件循环

Regan Yue

node.js Regan Yue 10月月更

在线字符串哈希/散列工

入门小站

工具

【产品】论增长黑客思维如何让B端产品爆发式增长

极光一号。

云原生 用户增长 b端产品经理 增长黑客

Java 面试八股文之数据库篇(一)

Dobbykim

微信小程序获取用户授权的思路

Changing Lin

10月月更

手机影像二十载,AI多摄会是终极答案吗?

脑极体

人工智能解决方案 --- 智能运维(AIOps)

micklongen

人工智能 AIOPS 知识图谱 智能运维 数据工程

CPU、指令集、微架构概念学习

轻口味

10月月更

Go 扇入 / 扇出

baiyutang

golang 10月月更

微博评论高性能高可用计算架构设计

看,有只猪

博鳌亚洲论坛国际科技与创新论坛第二届大会区块链分论坛紧密筹备中

时空云

区块链 博鳌 亚洲论坛

【设计模式】第四篇 - 简单工厂

Brave

设计模式 工厂模式 10月月更

Kafka 生产环境部署指南

Se7en

区块链将规则写入代码 重构市场新制度

CECBC

linux之awk使用技巧

入门小站

Linux

Spring 框架学习

风翱

spring 10月月更

linux【redhat&ubuntu】下ffmpeg-3.1安装编译及视频转码

程序员架构进阶

架构 ffmpeg 视频流 10月月更

初始化 Ubuntu 工作环境

看山

ubuntu 10月月更

WEB图像优化

devpoint

性能优化 image 图像格式 10月月更

Win11安装PyTorch

IT蜗壳-Tango

10月月更

【Flutter 专题】133 图解自定义 ACEWaterButton 水波纹按钮

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 10月月更

👊 【Spring技术特性】带你看看那些可能你还不知道的特性技巧哦!

码界西柚

Java spring Spring特性 10月月更

未来已来,运营商如何驱动区块链应用创新提速?

CECBC

Prometheus 基础查询(四)修饰符

耳东@Erdong

Prometheus 10月月更

跳槽时需要注意的事项

石云升

跳槽 职场经验 10月月更

分布式文件存储系统Minio实战

Fox666

Minio 分布式文件存储

Linux system hardening: adding hidepid to /proc mount point

卓丁

Linux linux security proc hidepid

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