Подпись тега в качестве администратора репозитория
На этом этапе мы узнаем, как подписать тег Docker-образа в качестве администратора репозитория. Docker Content Trust (Доверенность контента Docker) использует цифровые подписи, чтобы убедиться, что образы, которые вы скачиваете, точно соответствуют тому, что задумал издатель. В качестве администратора репозитория у вас есть право подписывать теги образов, подтверждая их подлинность.
Перед тем, как мы сможем подписать образ, нам нужно включить Docker Content Trust. Это делается путем установки переменной окружения DOCKER_CONTENT_TRUST
в значение 1
.
export DOCKER_CONTENT_TRUST=1
Эта команда включает доверие к контенту для последующих Docker-команд в текущей сессии терминала.
Теперь давайте пометим образ hello-world
, который мы загрузили на предыдущем этапе, новым тегом, включающим имя репозитория. Мы будем использовать заполнитель для имени репозитория your_docker_username/my-signed-image
. Замените your_docker_username
на свое фактическое имя пользователя в Docker Hub, если у вас есть оно, или просто используйте labexuser
для этой практической работы (лабораторной работы).
docker tag hello-world labexuser/my-signed-image:latest
Эта команда создает новый тег labexuser/my-signed-image:latest
, который ссылается на тот же образ, что и hello-world
.
Теперь мы отправим этот помеченный образ в реестр. Когда Docker Content Trust включен, отправка не подписанного тега образа вызовет запрос на его подпись.
docker push labexuser/my-signed-image:latest
При выполнении этой команды Docker попросит вас создать новый ключ подписи или использовать существующий. Поскольку это, вероятно, ваша первая подпись, вас попросят создать новый ключ. Вам нужно будет ввести парольную фразу для нового ключа. Запомните эту парольную фразу, так как вам понадобится ее позже для подписи других образов или обновления ключей.
После ввода и подтверждения парольной фразы Docker подписывает тег образа и отправляет его в реестр. Вы должны увидеть вывод, показывающий процесс подписи и успешную отправку.