2017-01-24 6 views
4

Я создал репозиторий на hub.docker.com и теперь хочу нажать мое изображение на Dockerhub, используя мои учетные данные. Мне интересно, нужно ли мне использовать мое имя пользователя и пароль или я могу создать своего рода токен доступа, чтобы нажать изображение докера.Токен доступа для Dockerhub

Что я хочу сделать, это использовать ресурс docker-image из Зала, чтобы нажать изображение на Dockerhub. Поэтому я должен настроить учетные данные, такие как:

type: docker-image 
source: 
    email: {{docker-hub-email}} 
    username: {{docker-hub-username}} 
    password: {{docker-hub-password}} 
    repository: {{docker-hub-image-dummy-resource}} 

, и я не хочу использовать мой Dockerhub пароль для этого.

+0

Почему бы вам не использовать пароль? –

ответ

6

Одним словом, вы не можете. Есть несколько решений, которые могут понравиться вам, но это может помочь вам понять, что есть структурная причина для этого:

Ресурсы настроены через их source и params, которые определены на уровне конвейера (в вашем yml файл). Любая информация аутентификации должна быть определена там, потому что нет способа получить информацию с более раннего шага в вашей сборке на этапе get (у нее нет входных данных).

Поскольку токены-носители обычно заканчиваются после «не так уж долго» (то есть часов или дней), что также относится к токенам DockerHub, экземпляр конгресса должен иметь возможность извлекать новый токен из службы аутентификации каждый раз, когда сборка при необходимости запускается. Это требует, чтобы в любом сервере хранилища сохранялась какая-то постоянная аутентификация, и в настоящее время Dockerhub не поддерживает токены доступа CI a la github.

Все, что нужно сказать, вам необходимо будет указать имя пользователя и пароль в Concourse так или иначе.

Если вы беспокоитесь о безопасности, есть некоторые шаги, которые можно скорее предпринять, чтобы снизить риск:

  • вы можете использовать --load-vars-from, чтобы защитить ваши учетные данные могут быть не сохранены в вашем трубопроводе, хранить их в другом месте (LastPass, локальный файл и т. Д.).
  • , возможно, вы сможете создать пользователя на Dockerhub, который будет иметь доступ только к определенным репо (-ам), которые вы хотите нажать, «пользователь CI-бота», если хотите.
Смежные вопросы