Как я могу заблокировать случайное нажатие на DockerHub?

#docker #dockerhub

#docker #dockerhub

Вопрос:

Поскольку DockerHub введет ограничение скорости с 1 ноября, мы, вероятно, скажем нашим инженерам создать (бесплатные) учетные записи DockerHub, чтобы каждый мог получать 200 нажатий в течение 6 часов.

Однако мы обеспокоены тем, что инженер может каким-то образом случайно отправить изображение в DockerHub со своего ноутбука.

Есть ли какой-нибудь способ заблокировать наших разработчиков от случайного нажатия на DockerHub?

Комментарии:

1. Можно ли сделать все ваши изображения доверенными сборками?

Ответ №1:

Возможно, что Docker предоставит возможность создавать более ограниченные токены до начала ограничения скорости, либо только для извлечения, либо, возможно, ограничено конкретными репозиториями. Эта функциональность необходима пользователям CI, которые запускают сборки в облаке и не хотят предоставлять полный доступ.

В противном случае я бы рекомендовал не помечать ваши локальные изображения чем-то, что вы можете отправить в Docker Hub. Ссылка на изображение включает имя репозитория и может иметь префикс реестра. Если они помечают имя локального реестра или указывают репозиторий, к которому у них нет доступа для отправки, тогда они ничего не будут отправлять в Hub.

Еще лучше, если вы создадите локальный реестр, который избавит вас от необходимости извлекать данные из Hub. Зеркально отобразите базовые образы, необходимые вашим разработчикам, и попросите их выполнить свои сборки в вашем внутреннем реестре. Существует множество реализаций реестра docker, включая Docker image или для корпоративной среды, которые были расширены в проекте Harbor, который является частью CNCF. Оба являются бесплатными и с открытым исходным кодом.

В качестве крайней меры вы можете заблокировать возможность запуска любого POST /v2/*/blobs/upload (см. Спецификацию registry API) http-прокси, который все разработчики используют для доступа к Интернету, но вы можете обнаружить, что это нарушает многие законные варианты использования.