Проверка текущих подписантов репозитория
На этом этапе мы научимся проверять текущих подписантов (signers) Docker-репозитория. Функция Docker Content Trust позволяет вам проверять целостность и издателя всех используемых вами образов. Когда функция доверия к контенту включена, Docker гарантирует, что образы, которые вы скачиваете, подписаны.
Сначала включим функцию Docker Content Trust. Это можно сделать, установив переменную окружения DOCKER_CONTENT_TRUST
в значение 1
.
export DOCKER_CONTENT_TRUST=1
Теперь, когда функция доверия к контенту включена, при взаимодействии с образами Docker будет проверять подписи. Чтобы проверить подписантов репозитория, вы можете использовать команду docker trust inspect
, за которой следует имя репозитория.
Проверим подписантов репозитория ubuntu
.
docker trust inspect ubuntu
Вы должны увидеть вывод, похожий на следующий, показывающий подписантов и их ключи:
No signatures for ubuntu
Этот вывод показывает, что в настоящее время для репозитория ubuntu
нет подписей. Это ожидаемо для многих официальных образов, если они явно не включили функцию доверия к контенту и подписи.
Попробуем проверить репозиторий, который, как известно, имеет подписи, например docker/trusttest
. Сначала нам нужно скачать образ, чтобы убедиться, что у нас есть необходимые метаданные.
docker pull docker/trusttest
Теперь проверим подписантов репозитория docker/trusttest
.
docker trust inspect docker/trusttest
Вы должны увидеть вывод, в котором перечислены подписанты и их ключи, что указывает на то, что этот репозиторий подписан. В выводе будут показаны сведения о подписантах Targets
и Releases
.
Signers of docker/trusttest:
ROLE KEYS
---- ----
Releases 0a0d52c692a8b3459f3422732222222222222222222222222222222222222222: docker/trusttest
Signatures for docker/trusttest:
SIGNER KEYS
------ ----
Releases 0a0d52c692a8b3459f3422732222222222222222222222222222222222222222: docker/trusttest
Этот вывод подтверждает, что репозиторий docker/trusttest
подписан и перечисляет ключи, связанные с подписантами.