Docker Hardened Images クイックスタート

このガイドでは、ゼロから Docker Hardened Image(DHI)を実行するまでの手順を、実例を用いて解説します。ここでは特定のイメージを例にしていますが、紹介する手順はどの DHI に対しても同様に適用できます。

ヒント

Bitnami のパブリック カタログ イメージなど、Docker Hub 上の他のイメージから DHI に移行する際も、現在使用しているツールやワークフローをそのまま利用できます。なお、Bitnami (英語) は 2025 年 9 月 29 日以降、パブリック カタログ イメージの提供を終了すると発表しています。多くの場合、移行は設定やコマンド内のイメージ参照を更新するだけで完了します。まずは本ガイドを確認し、そのうえで移行ガイド (英語) ではより詳細な手順や具体例を紹介しています。

このガイドの内容は 2025年 11月時点の情報に基づいています。最新情報については、エクセルソフト株式会社までお問い合わせください。


ステップ 1: DHI を利用するために無料トライアルを開始する

サブスクリプションがなくても Docker Hardened Images カタログを閲覧できますが、実際にイメージを利用するには、Docker Hardened Images を購入するか、組織向けの無料トライアルを利用する必要があります。本ガイドでは、無料トライアルの開始手順を説明します。

 

無料トライアルを開始するには:

  1. Docker Hub の Hardened Images カタログにアクセスし、サインインします。

  2. Start trial を選択し、画面の指示に従って進めます。


ステップ 2: 使用するイメージを探す

  1. Docker Hub の Hardened Images カタログにアクセスし、サインインします。

  2. 左側のサイドバーで、DHI にアクセスできる組織を選択します。

  3. 同じく左側のサイドバーから Hardened Images > Catalog を選択します。

  4. 検索バーやフィルターを使って、利用したいイメージ (例:python、node、golang) を探します。本ガイドでは例として Python イメージを使用します。

  5. Python リポジトリを選択して詳細を確認します。

次のステップでは、このイメージをミラーリングします。イメージの詳細な確認方法については、Docker Hardened Images の探索 (英語) を参照してください。


ステップ 3: イメージをミラーリングする

Docker Hardened Image を利用するには、まず組織にミラーリングする必要があります。この操作は組織のオーナーのみ実行可能です。ミラーリングを行うと、組織の名前空間内にイメージのコピーが作成され、チーム メンバーがプルして使用できるようになります。

  1. イメージのリポジトリ ページで Mirror to repository を選択します。

    注意

    もし Mirror to repository ボタンが表示されない場合、すでにそのリポジトリが組織にミラーリングされている可能性があります。その場合は View in repository を選択して、ミラーリングされたイメージの場所を確認するか、別のリポジトリにミラーリングすることができます。

  2. 画面の指示に従ってリポジトリをミラーリングします。

すべてのタグがミラーリングされるまでに数分かかる場合があります。ミラーリングが完了すると、イメージ リポジトリは組織の名前空間に表示されます。たとえば Docker Hub では、My Hub > YOUR_ORG > Repositories に移動すると、dhi-python が一覧に表示されます。これで、他のイメージと同じようにプルして使用できるようになります。

次のステップでは、イメージをプルして実行します。イメージのミラーリングについてさらに詳しく知りたい場合は、Docker Hardened Image リポジトリのミラーリング (英語) を参照してください。


ステップ 4: イメージをプルして実行する

イメージを組織にミラーリングしたら、他の Docker イメージと同じようにプルして実行できます。なお、Docker Hardened Images は最小限かつセキュアに設計されているため、通常のイメージに含まれるすべてのツールやライブラリが含まれていない場合があります。一般的な違いについては DHI を導入する際の注意点 (英語) を参照してください。

以下の例では、Python イメージを実行し、他の Docker イメージと同じように簡単な Python コマンドを実行できることを示しています。

  1. まず、ミラーリングしたイメージをプルします。ターミナルを開き、以下のコマンドを実行してください。<your-namespace> は組織の名前空間に置き換えます。

    $  docker pull <your-namespace>/dhi-python:3.13
  2. イメージを実行して、正しく動作することを確認します。

    $  docker run --rm <your-namespace>/dhi-python:3.13 python -c "print('Hello from DHI')"

    これにより、dhi-python:3.13 イメージからコンテナーが起動し、Hello from DHI と表示する簡単な Python スクリプトが実行されます。

イメージの利用方法についてさらに詳しく知りたい場合は、以下を参照してください。

ステップ 5: 他のイメージと比較する

DHIs を他のイメージと比較することで、セキュリティの向上点や違いを素早く確認できます。この比較により、ハードニング済みイメージを使用する価値を理解することができます。

以下のコマンドを実行して、要約比較を確認してください。<your-namespace> は組織の名前空間に置き換えます。

   docker scout compare <your-namespace>/dhi-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            │  docker/dhi-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
                      │                                                       │                        

  

この比較から、Docker Hardened Image は以下の点で優れていることがわかります。

イメージ比較の詳細については Docker Hardened Images の比較 (英語) を参照してください。

次のステップ

最初の Docker Hardened Image をプルして実行できました。次のステップは以下のように進められます。

 

 

ページトップへ