镜像 Docker 强化映像存储库
在使用 Docker 强化映像 (DHI) 之前,您必须将其存储库镜像到您的组织。只有组织所有者才能执行此操作。镜像后,该映像将在您的组织命名空间中可用,有权访问的用户可以开始拉取和使用它。
镜像的存储库会自动保持最新。Docker 会持续同步来自上游 DHI 目录的新标签和映像更新,因此您始终可以访问最新的安全版本。
先决条件
镜像映像存储库
要镜像 Docker 强化映像存储库
- 前往 Docker Hub 并登录。
- 选择我的 Hub。
- 在命名空间下拉菜单中,选择有权访问 DHI 的组织。
- 选择强化映像 > 目录。
- 选择一个 DHI 存储库以查看其详细信息。
- 选择镜像到存储库并按照屏幕上的说明进行操作。
所有标签完成镜像可能需要几分钟。映像镜像完成后,“镜像到存储库”按钮将变为“在存储库中查看”。选择“在存储库中查看”会打开一个下拉列表,其中包含该映像已镜像到的存储库。在此下拉列表中,您可以:
- 选择一个现有的镜像存储库以查看其详细信息
- 再次选择镜像到存储库以将映像镜像到额外的存储库
镜像存储库后,该存储库将以您指定的名称(前缀为 dhi-)出现在您组织的存储库列表中。它将继续接收更新的映像。

重要镜像存储库的可见性必须保持私有。将其可见性更改为公共将停止更新的镜像。
镜像后,映像存储库将像 Docker Hub 上的任何其他私有存储库一样运行。有权访问存储库的团队成员现在可以拉取和使用该映像。要了解如何管理访问、查看标签或配置设置,请参阅存储库。
用于同步和警报的 Webhook 集成
为了使外部注册表或系统与您的镜像 Docker 强化映像保持同步,并在更新发生时接收通知,您可以在 Docker Hub 中镜像存储库上配置webhook。每当推送或更新新映像标签时,webhook 都会向您定义的 URL 发送 POST 请求。
例如,您可以配置一个 webhook,以便在镜像新标签时调用 CI/CD 系统 https://ci.example.com/hooks/dhi-sync。此 webhook 触发的自动化可以从 Docker Hub 拉取更新的映像并将其推送到内部注册表,例如 Amazon ECR、Google Artifact Registry 或 GitHub Container Registry。
其他常见的 webhook 用例包括
- 触发验证或漏洞扫描工作流
- 签名或推广映像
- 向下游系统发送通知
Webhook 负载示例
当 webhook 触发时,Docker Hub 会发送如下 JSON 负载
{
"callback_url": "https://registry.hub.docker.com/u/exampleorg/dhi-python/hook/abc123/",
"push_data": {
"pushed_at": 1712345678,
"pusher": "trustedbuilder",
"tag": "3.13-alpine3.21"
},
"repository": {
"name": "dhi-python",
"namespace": "exampleorg",
"repo_name": "exampleorg/dhi-python",
"repo_url": "https://hub.docker.com/r/exampleorg/dhi-python",
"is_private": true,
"status": "Active",
...
}
}停止镜像映像存储库
只有组织所有者才能停止镜像存储库。停止镜像后,存储库将保留,但不再接收更新。您仍然可以拉取最后镜像的映像,但存储库将不会从原始存储库接收新标签或更新。
要停止镜像映像存储库
- 前往 Docker Hub 并登录。
- 选择我的 Hub。
- 在命名空间下拉菜单中,选择有权访问 DHI 的组织。
- 选择强化镜像 > 管理。
- 在要停止镜像的存储库的最右侧列中,选择菜单图标。
- 选择停止镜像。
停止镜像存储库后,您可以选择另一个 DHI 存储库进行镜像。
将 Docker Hub 中的映像镜像到另一个注册表
将 Docker 强化映像存储库镜像到 Docker Hub 上的组织命名空间后,您可以选择将其镜像到另一个容器注册表,例如 Amazon ECR、Google Artifact Registry、GitHub Container Registry 或私有 Harbor 实例。
您可以使用任何标准工作流,包括
- Docker CLI
- Docker Hub 注册表 API
- 第三方注册表工具或 CI/CD 自动化
以下示例演示了如何使用 Docker CLI 拉取镜像的 DHI 并将其推送到另一个注册表
# Authenticate to Docker Hub (if not already signed in)
$ docker login
# Pull the image from your organization's namespace on Docker Hub
$ docker pull <your-namespace>/dhi-<image>:<tag>
# Tag the image for your destination registry
$ docker tag <your-namespace>/dhi-<image>:<tag> registry.example.com/my-project/<image>:<tag>
# Push the image to the destination registry
# You will need to authenticate to the third-party registry before pushing
$ docker push registry.example.com/my-project/<image>:<tag>
重要为了继续接收映像更新并保留对 Docker 强化映像的访问,请确保推送到其他注册表的任何副本都保持私有。
镜像映像时包含证明
Docker 强化映像已签名并包含提供元数据(例如构建来源和漏洞扫描结果)的相关证明。这些证明作为 OCI 工件存储,默认情况下在使用 Docker CLI 镜像映像时不会包含。
要在将 DHI 复制到另一个注册表时保留完整的安全上下文,您必须明确包含证明。一个工具是 regctl,它支持复制映像及其关联的工件。
有关如何使用 regctl 复制映像及其关联工件的更多详细信息,请参阅regclient 文档。
接下来做什么
镜像映像存储库后,您可以开始使用映像。