Docker Content Trust прекращает работу: полная инструкция по миграции на Notation и Cosign
Компания Docker окончательно отключает Docker Content Trust (DCT) и сервис Notary v1, размещённый на notary.docker.io. Это означает, что все процессы, полагающиеся на DCT для верификации образов, необходимо перевести на новые решения, такие как Notation или Cosign. Первое предупреждение появилось ещ

Компания Docker окончательно отключает Docker Content Trust (DCT) и сервис Notary v1, размещённый на notary.docker.io. Это означает, что все процессы, полагающиеся на DCT для верификации образов, необходимо перевести на новые решения, такие как Notation или Cosign. Первое предупреждение появилось ещё в июле 2025 года, но теперь сроки окончательны: после завершения миграционного периода подписи DCT перестанут проверяться, а сам сервис станет недоступен. Если вы используете команду docker trust или полагаетесь на проверку подписей Notary v1, вам нужно действовать уже сейчас.
Что меняется и кого это касается
DCT — это механизм, который позволял разработчикам подписывать Docker-образы и проверять их целостность при скачивании. Он работал на базе проекта Notary v1. Однако с развитием экосистемы контейнеров появились более современные и безопасные стандарты, такие как Notation и Sigstore Cosign. Docker рекомендует перейти именно на них. Отключение затронет всех, кто использует DCT в своих пайплайнах: от индивидуальных разработчиков до крупных организаций, автоматизирующих сборку и развёртывание. Если вы используете команду docker trust или полагаетесь на проверку подписей Notary v1, вам нужно действовать.
Предыстория и контекст
DCT был введён много лет назад как решение для защиты цепочки поставок контейнеров. Однако со временем индустрия выработала более универсальные подходы. Проект Notary v1 не обновлялся активно, а его архитектура уступала новым стандартам. Docker уже несколько лет рекомендовал переход на Notation — стандарт подписания, разработанный под эгидой CNCF. Параллельно набрал популярность Sigstore Cosign, предлагающий более простую интеграцию с существующей инфраструктурой. Решение об отключении DCT — логичный шаг: поддержка устаревшего сервиса требует ресурсов, которые лучше направить на развитие современных инструментов. Кроме того, безопасность Notary v1 уже не соответствует текущим требованиям.
Как перейти с DCT на Notation или Cosign?
Docker подготовил подробное руководство по миграции. Основная рекомендация — использовать Notation, который интегрируется непосредственно с Docker Desktop и Docker Hub. Cosign также поддерживается, но требует дополнительной настройки. Для перехода необходимо сначала экспортировать существующие ключи подписи DCT, если они ещё нужны, а затем настроить подписание образов через Notation. Docker предоставляет инструменты для автоматизации этого процесса, включая плагины для CLI. Важно учесть, что образы, подписанные старым способом, после отключения DCT будут считаться неподписанными, если не перенести их подписи в новый формат.
Технические детали миграции
Docker рекомендует следующий план действий. Во-первых, убедитесь, что у вас установлена последняя версия Docker Desktop (4.40 или новее), которая уже включает поддержку Notation. Во-вторых, сгенерируйте новые ключи с помощью notation cert generate. Затем настройте подписание образов в CI/CD: например, добавьте шаг notation sign после сборки. Для проверки используйте notation verify. Если вы ранее использовали DCT, ключи Notary v1 можно импортировать, но Docker советует создать новые. Для Cosign процесс похож: установите Cosign, сгенерируйте ключевую пару и настройте подписание. Основное отличие — Cosign не требует централизованного сервера, что упрощает децентрализованное управление.
Что делать, если я уже использую DCT в CI/CD?
Если вы используете DCT в пайплайнах, вам необходимо обновить скрипты и документацию. После отключения сервиса любые попытки проверить подписи DCT приведут к ошибкам. Это может нарушить процессы развёртывания, особенно в строго регулируемых средах, где требуется верификация образов. Рекомендуется сначала протестировать новый процесс в изолированной среде, а затем постепенно переносить все этапы. Docker предоставляет инструменты для автоматизации, включая плагины для Jenkins, GitLab CI и других систем.
Кого затронет и как
Разработчики, использующие DCT в пайплайнах, столкнутся с необходимостью обновить скрипты и документацию. Если вы не обновитесь, после отключения сервиса любые попытки проверить подписи DCT приведут к ошибкам. Это может нарушить процессы развёртывания, особенно в строго регулируемых средах, где требуется верификация образов. Для бизнеса, который полагается на целостность контейнеров, переход — это вопрос соответствия стандартам безопасности. Современные инструменты, такие как Notation, обеспечивают более гибкую политику подписания и поддерживаются всеми основными реестрами. Российским разработчикам стоит учесть, что некоторые альтернативы могут работать через внешние сервисы, но Notation и Cosign являются open-source и могут быть развёрнуты локально.
Что будет дальше
Отключение DCT — часть более широкой стратегии Docker по модернизации безопасности. В будущем стоит ожидать более тесной интеграции Notation в экосистему Docker, возможно, появления новых функций в Docker Hub для управления подписями. Также вероятно, что сообщество будет активнее продвигать Sigstore как универсальный слой доверия. Пока же ключевая рекомендация — не откладывать миграцию. Docker установил чёткий дедлайн, после которого DCT перестанет работать. Лучше провести переход сейчас, в спокойном режиме, чем экстренно исправлять сломанные пайплайны в будущем.
Итог
Docker Content Trust и Notary v1 официально уходят в прошлое. Разработчикам необходимо перейти на Notation или Cosign для подписания и проверки образов. Docker предоставил все необходимые инструменты и документацию, чтобы миграция прошла гладко. Не откладывайте — после отключения старые подписи перестанут работать, и процессы, зависящие от них, будут нарушены.