diff --git a/18_security/18.6_image_security.md b/18_security/18.6_image_security.md index 629a713..63e70da 100644 --- a/18_security/18.6_image_security.md +++ b/18_security/18.6_image_security.md @@ -272,16 +272,13 @@ cosign verify myregistry.com/myapp:v1.0.0 \ > **注意:DCT 退役时间线** > -> Docker 已宣布[退役 Content Trust](https://www.docker.com/blog/retiring-docker-content-trust/)。关键节点: -> - 2025 年 8 月起:最早一批 DCT 签名证书开始过期 -> - 2025 年 9 月 30 日起:新注册表不可再启用 DCT -> - **2028 年 3 月 31 日**:DCT 完全移除,所有 DCT 数据永久删除 +> Docker 已宣布[退役 Content Trust](https://www.docker.com/blog/retiring-docker-content-trust/),并提示 Docker Official Images 的部分 DCT 签名证书会从 2025 年 8 月起陆续过期;完整退役节奏应以 Docker 官方公告和你所使用的 registry 服务商文档为准。不要把云厂商特定日期直接当作 Docker 全局时间线。 > -> 建议新项目直接使用上文介绍的 **Cosign (Sigstore)** 进行镜像签名;现有 DCT 用户应尽早制定迁移计划。 +> 新项目应优先使用上文介绍的 **Cosign (Sigstore)** 或 registry 原生签名/证明能力;现有 DCT 用户应先盘点依赖、验证替代方案,再制定迁移计划。 Docker Content Trust 使用 Notary 实现镜像签名,是 Docker 官方的传统签名解决方案。 -**启用 DCT:** +**历史用法示例(不建议新项目采用):** ```bash # 在环境中启用 DCT @@ -542,7 +539,7 @@ push: - docker:dind script: - docker load < image.tar - - docker login -u $REGISTRY_USER -p $REGISTRY_PASSWORD $REGISTRY + - echo "$REGISTRY_PASSWORD" | docker login --username "$REGISTRY_USER" --password-stdin "$REGISTRY" - docker push $IMAGE_NAME:$CI_COMMIT_SHA only: - main