特定の環境におけるリポジトリのポリシー結果の比較
このステップでは、リポジトリ内のイメージのポリシー結果を比較する概念について学びます。この比較は、異なる環境間で行われる可能性もあります。専用のポリシーエンジンがなければ実際のポリシー比較を行うことはできませんが、そのプロセスと前提条件を理解することができます。
Docker における「リポジトリ」とは、関連するイメージのコレクションを指し、多くの場合、異なるタグ(latest
、1.0
、dev
など)が付けられています。たとえば、Docker Hub の ubuntu
リポジトリには、Ubuntu イメージのさまざまなバージョンが含まれています。
特定の環境におけるリポジトリのポリシー結果を比較するには、通常以下のことが必要です。
- そのリポジトリ内の複数のイメージに対するポリシーの評価
- イメージがデプロイされる環境の考慮(たとえば、開発環境、ステージング環境、本番環境)。異なる環境では、異なるポリシー要件がある場合があります。
- ターゲット環境の文脈で、イメージに対するポリシー評価レポートの分析と比較
リポジトリから複数のイメージを持つ状況をシミュレートするために、ubuntu
イメージの別のタグを取得しましょう。20.04
タグを取得します。
docker pull ubuntu:20.04
ubuntu:20.04
イメージのダウンロードを示す出力が表示されるはずです。
20.04: Pulling from library/ubuntu
...
Status: Downloaded newer image for ubuntu:20.04
docker.io/library/ubuntu:20.04
これで、ubuntu
リポジトリから 2 つのイメージがあります。ubuntu:latest
(前のステップで取得したもの)と ubuntu:20.04
です。
両方のイメージを表示するには、すべての ubuntu
イメージをリストアップできます。
docker images | grep ubuntu
両方のタグが表示される次のような出力が表示されるはずです。
ubuntu latest <image_id_latest> <creation_time_latest> <size_latest>
ubuntu 20.04 <image_id_20.04> <creation_time_20.04> <size_20.04>
実際のポリシー比較シナリオでは、ubuntu:latest
と ubuntu:20.04
の両方に対してポリシーを評価します。ポリシー評価ツールは、各イメージに対するレポートを生成します。その後、これらのレポートを比較し、特定の環境の要件(たとえば、「本番環境のポリシー」)に基づいて結果をフィルタリングまたは分析することができます。
ポリシー結果を比較する架空のコマンドは次のようになるかもしれません。
## これは架空のコマンドで、この環境では動作しません。
## 説明のためにのみ表示しています。
## policy-eval compare --repository ubuntu --environment production
実際の比較を行うことはできないため、このステップの検証では、比較に必要な ubuntu:latest
と ubuntu:20.04
の両方のイメージがローカルで利用可能であることを確認することに焦点を当てます。