Share feedback
Answers are generated based on the documentation.

Docker 加固镜像快速入门

本指南通过一个真实示例,向您展示如何从零开始运行 Docker 加固镜像 (DHI)。最后,您将 DHI 与标准 Docker 镜像进行比较,以更好地理解两者之间的差异。虽然这些步骤以特定镜像为例,但它们适用于任何 DHI。

Note

Docker 加固镜像对所有人免费开放,无需订阅,无使用限制,也无厂商锁定。当您有企业功能需求(如 FIPS 或 STIG 合规变体、定制能力或 SLA 支持)时,可以升级到 DHI 企业版订阅。

步骤 1:查找要使用的镜像

  1. 前往 Docker Hub 中的加固镜像目录。
  2. 使用搜索栏或筛选器查找镜像(例如 pythonnodegolang)。本指南以 Python 镜像为例。
  3. 选择 Python 仓库以查看其详细信息。

继续下一步以拉取并运行镜像。要深入了解镜像探索,请参阅探索 Docker 加固镜像

步骤 2:拉取并运行镜像

您可以像使用其他 Docker 镜像一样拉取并运行 DHI。请注意,Docker 加固镜像设计为最小且安全,因此可能不包含典型镜像中您所期望的所有工具或库。您可以在采用 DHI 时的注意事项中查看典型差异。

Tip

在 DHI 目录的每个仓库页面中,您都可以通过选择使用此镜像找到拉取和扫描镜像的说明。

以下示例演示您可以运行 Python 镜像并执行简单的 Python 命令,就像使用任何其他 Docker 镜像一样:

  1. 打开终端并使用您的 Docker ID 凭据登录 Docker 加固镜像注册表。

    $ docker login dhi.io
    
  2. 拉取镜像:

    $ docker pull dhi.io/python:3.13
    
  3. 运行镜像以确认一切正常:

    $ docker run --rm dhi.io/python:3.13 python -c "print('Hello from DHI')"
    

    这将从 python:3.13 镜像启动一个容器,并运行一个简单的 Python 脚本,打印 Hello from DHI

要深入了解镜像使用,请参阅:

步骤 3:与其他镜像比较

您可以快速将 DHI 与其他镜像进行比较,以了解安全改进和差异。这种比较有助于您理解使用加固镜像的价值。

运行以下命令,查看 Docker 加固 Python 镜像与 Docker Hub 上的非加固 Docker 官方 Python 镜像之间的摘要比较:

$ docker scout compare dhi.io/python:3.13 \
    --to python:3.13 \
    --platform linux/amd64 \
    --ignore-unchanged \
    2>/dev/null | sed -n '/## Overview/,/^  ## /p' | head -n -1

示例输出:

  ## Overview

                      │                    Analyzed Image                     │               Comparison Image
  ────────────────────┼───────────────────────────────────────────────────────┼───────────────────────────────────────────────
    Target            │  dhi.io/python:3.13                                   │  python:3.13
      digest          │  c215e9da9f84                                         │  7f48e892134c
      tag             │  3.13                                                 │  3.13
      platform        │ linux/amd64                                           │ linux/amd64
      provenance      │ https://github.com/docker-hardened-images/definitions │ https://github.com/docker-library/python.git
                      │  77a629b3d0db035700206c2a4e7ed904e5902ea8             │  3f2d7e4c339ab883455b81a873519f1d0f2cd80a
      vulnerabilities │    0C     0H     0M     0L                            │    0C     1H     5M   141L     2?
                      │           -1     -5   -141     -2                     │
      size            │ 35 MB (-377 MB)                                       │ 412 MB
      packages        │ 80 (-530)                                             │ 610
                      │                                                       │
Note

这是示例输出。您的结果可能因新发现的 CVE 和镜像更新而异。

Docker 在 Docker 加固镜像中保持接近零 CVE。对于 DHI 企业版订阅,当发现新的 CVE 时,会在行业领先的 SLA 时间范围内修复这些 CVE。了解有关 SLA 支持的安全功能 的更多信息。

此比较显示 Docker 加固镜像:

  • 移除漏洞:1 个高危、5 个中危、141 个低危和 2 个未指定严重程度的 CVE 被移除
  • 减小体积:从 412 MB 减少到 35 MB(减少 91%)
  • 最小化软件包:从 610 个软件包减少到 80 个(减少 87%)

要深入了解镜像比较,请参阅比较 Docker 加固镜像

下一步

您已拉取并运行了第一个 Docker 加固镜像。以下是继续操作的几种方式:

  • 将现有应用程序迁移到 DHI:使用 Docker 的 AI 助手更新您的 Dockerfile,以使用 Docker 加固镜像作为基础镜像。

  • 开始试用:探索 DHI 企业版订阅的优势,例如访问 FIPS 和 STIG 变体、定制镜像以及 SLA 支持的更新。

  • 镜像仓库:在订阅 DHI 企业版或开始试用后,了解如何镜像 DHI 仓库以实现定制、访问合规变体并获得 SLA 支持的更新。

  • 验证 DHI:使用 Docker Scout 或 Cosign 等工具检查和验证签名证明,例如 SBOM 和来源。

  • 扫描 DHI:使用 Docker Scout 或其他扫描器分析镜像以识别已知 CVE。