Токен доступа для Dockerhub
Я создал хранилище на hub.docker.com
и теперь хочу отправить мое изображение в Dockerhub, используя мои учетные данные. Мне интересно, должен ли я использовать свое имя пользователя и пароль или могу ли я создать какой-то токен доступа, чтобы протолкнуть образ докера.
Я хочу использовать docker-image
ресурс из Concourse для отправки изображения в Dockerhub. Поэтому я должен настроить учетные данные, как:
type: docker-image
source:
email: {{docker-hub-email}}
username: {{docker-hub-username}}
password: {{docker-hub-password}}
repository: {{docker-hub-image-dummy-resource}}
и я не хочу использовать для этого свой пароль от Dockerhub.
1 ответ
Короче говоря, вы не можете. Есть некоторые решения, которые могут вам понравиться, но сначала вам будет легче узнать, что для этого есть структурная причина:
Ресурсы настраиваются через их source
а также params
, которые определены на уровне конвейера (в вашем файле yml). Любая информация для аутентификации должна быть определена там, потому что нет способа получить информацию из более раннего шага в вашей сборке в get
шаг (не имеет входов).
Поскольку токены-носители обычно истекают через "не так долго" (т. Е. Часы или дни), что также справедливо для токенов DockerHub, экземпляр concourse должен иметь возможность извлекать новый токен из службы аутентификации каждый раз, когда сборка запускается при необходимости. Это требует, чтобы какая-либо форма постоянной аутентификации сохранялась в любом случае на параллельном сервере, и в настоящее время Dockerhub не поддерживает маркеры доступа к CI по принципу github.
Все, что нужно сказать, вам нужно будет предоставить имя пользователя и пароль для Concourse, так или иначе.
Если вы беспокоитесь о безопасности, вы можете предпринять некоторые шаги для снижения риска:
- ты можешь использовать
--load-vars-from
чтобы защитить ваши учетные данные от сохранения в вашем конвейере, хранения их в другом месте (LastPass, локальный файл и т. д.). - Вы можете создать пользователя на Dockerhub, который имеет доступ только к определенным репозиториям, которые вы хотите запустить, "пользователь бота CI", если хотите.
Docker концентратор поддерживает маркер доступа
ГотоAccount Settings > Security
То же, что и токен личного доступа Github (PAT)
Вы можете использовать этот токен вместо фактического пароля