Добавление нового подписанта в репозиторий
На этом этапе мы узнаем, как добавить нового подписанта в Docker-репозиторий. Это полезно, когда вы хотите разрешить другой стороне или системе подписывать образы для вашего репозитория.
Перед добавлением подписанта вам нужно иметь подпись ключ. Если у вас его нет, вы можете сгенерировать новую пару ключей с помощью команды docker trust key generate
. В рамках этого практического занятия (лабораторной работы) мы предполагаем, что у вас есть пара ключей.
Для добавления нового подписанта используем команду docker trust signer add
. Эта команда требует указания имени нового подписанта, имени репозитория и пути к открытому ключу нового подписанта.
Создадим фиктивный файл с открытым ключом для демонстрации. В реальной ситуации это будет открытый ключ, предоставленный новым подписантом.
echo "-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0AQICYQADggEPADRUb2tlbiBmb3IgYSB0ZXN0IHNpZ25lcg==
-----END PUBLIC KEY-----" > ~/project/new_signer.pub
Эта команда создает файл с именем new_signer.pub
в каталоге ~/project
с некоторым фиктивным содержимым открытого ключа.
Теперь добавим нового подписанта с именем my-new-signer
в гипотетический репозиторий your-dockerhub-user/my-image
. Замените your-dockerhub-user
на свое имя пользователя в Docker Hub, если вы выполняете это с реальным репозиторием. В рамках этого практического занятия мы используем заполнитель.
docker trust signer add my-new-signer your-dockerhub-user/my-image --key ~/project/new_signer.pub
Вам будет предложено ввести пароль для корневого ключа репозитория. Это мера безопасности, чтобы убедиться, что только авторизованные пользователи могут добавлять подписантов. Поскольку это лабораторная среда и мы не взаимодействуем с реальным Docker-реестр, вы можете ввести фиктивный пароль.
После ввода пароля команда добавит нового подписанта в доверительные данные репозитория. Вы должны увидеть вывод, указывающий, что подписант был добавлен.
Adding signer "my-new-signer" to your-dockerhub-user/my-image...
Successfully added signer "my-new-signer" to your-dockerhub-user/my-image
Эта команда обновляет доверительные данные для указанного репозитория в Docker-реестр, добавляя открытый ключ нового подписанта.