Сравнение результатов политики для репозитория в определенной среде
На этом этапе вы узнаете о концепции сравнения результатов политики для образов в репозитории, возможно, в разных средах. Хотя мы не можем провести фактическое сравнение политик без специального механизма политики, мы можем понять процесс и предварительные условия.
В Docker "репозиторий" (repository) представляет собой набор связанных образов, часто с разными тегами (например, latest
, 1.0
, dev
и т.д.). Например, репозиторий ubuntu
на Docker Hub содержит различные версии образа 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
: 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
. Инструмент оценки политики сгенерировал бы отчеты для каждого образа. Затем вы бы сравнили эти отчеты, возможно, отфильтровав или проанализировав результаты на основе требований определенной среды (например, "политики для продакшн - среды").
Гипотетическая команда для сравнения результатов политики может выглядеть так:
## This is a hypothetical command and will not work in this environment.
## It is shown here for illustrative purposes only.
## policy-eval compare --repository ubuntu --environment production
Поскольку мы не можем провести фактическое сравнение, проверка на этом этапе будет сосредоточена на том, чтобы убедиться, что у вас локально доступны как образ ubuntu:latest
, так и образ ubuntu:20.04
, которые являются необходимыми образами для такого сравнения.