Статья является продолжением этой и этой статей, в ней будут ответы на часто задаваемые вопросы по новым ограничениям использования сервисов от компании Docker, которые вступят в силу с 1 ноября 2020 года.


Что такое условия обслуживания Docker?


Условия обслуживания Docker — это соглашение между вами и компанией Docker, согласно которому регулируется ваше использование продуктов и сервисов Docker.


Когда вступают в силу новые условия обслуживания?


Обновленные условия обслуживания вступают в силу немедленно.


Какие изменения в условиях обслуживания произошли?


Наиболее значимым изменениям подвергся раздел 2.5. Чтобы узнать обо всех изменениях, рекомендуем ознакомиться с полными условиями обслуживания.


Что такое лимит хранения неактивных образов и как это повлияет на мою учетную запись?


Хранение образов основано на активности скачивания или закачивания каждого отдельного образа, сохраненного с использованием учетной записи пользователя. Если образ не скачивался/закачивался в течение 6 месяцев, он получит метку «неактивный». Все образы, помеченные как «неактивные», запланированы к удалению. Этому ограничению подвержены учетные записи с тарифным планом Free для отдельных разработчиков и компаний. Также будет доступна новая панель управления для Docker Hub, дающая возможность просмотра статуса всех ваших образов контейнеров во всех репозиториях, связанных с вашей учетной записью.


Какими будут новые лимиты по хранению образов контейнеров?


Docker представил новую политику хранения образов контейнеров для неактивных образов, которая вступит в силу с 1 ноября 2020 года. Политика хранения неактивных образов контейнеров будет распространяться на следующие тарифные планы:


  • Тарифный план Free: будут ограничение в 6 месяцев хранения неактивных образов;
  • Тарифные планы Pro и Team: не будет ограничений по срокам хранения неактивных образов.

Что такое «неактивный» образ?


Неактивный образ — образ контейнера, который не был скачан или закачан в репозиторий образов Docker Hub в течение 6 месяцев.


Как я могу проверить статус моих образов?


В репозитории Docker Hub каждая метка (и последний образ, связанный с меткой), имеет дату «Last pushed», которую можно легко увидеть в Repositories, если вы войдете в свою учетную запись. Новая панель управления, предлагающая возможность просмотра статуса всех образов во всех репозиториях вашей учетной записи, включая самый последнюю метку, а также предыдущие версии метки, будет доступна в Docker Hub. Владельцы учетных записей будут уведомлены по e-mail о неактивных образах, которые планируется удалить.


Что случится с неактивными образами, как только будет достигнут предел срока хранения?


Начиная с 1 ноября 2020 года все образы, помеченные как «неактивные», будут запланированы к удалению. Владельцы учетных записей будут уведомлены по e-mail о «неактивных» образах, запланированных к удалению.


Как мне получить неограниченные сроки хранения моих образов?


Данные ограничения будут применяться только к тарифному плану Free. Пользователи учетных записей с тарифными планами Pro или Team не попадают под ограничения. Если у вас учетная запись с тарифным планом Free, можете легко обновиться до тарифного плана Pro или Team, стоимость которых составляет от 5$ ежемесячно с годовой подпиской.


Почему Docker представил новую политику хранения «неактивных» образов?


Docker Hub как самый большой в мире репозиторий образов контейнеров хранит более 15PB данных. Внутренние инструменты аналитики Docker показали, что из этих 15PB образов, сохраненных в Docker Hub, более 10PB не запрашивались более шести месяцев. Копнув глубже, мы узнали, что порядка 4.5PB этих неактивных образов связаны с учетными записями с тарифным планом Free.


Docker после ввода такого ограничения получит возможность экономического масштабирования и предоставления бесплатных сервисов для разработчиков и команд, использующих сервисы для сборки и поставки приложений, по всему миру.


Если мы являемся клиентом с тарифным планом, основанным на репозитории, будет ли применяться политика хранения к нам?


Нет, клиенты с любым платным тарифным планом не будут ограничиваться по срокам хранения.


Будут ли Официальные Образы подвергаться политике хранения «неактивных» образов?


Нет. Политика хранения неактивных образов не будет применяться к Официальным Образам. Ни один образ, содержащийся в пространстве имен «library», не будет удален. Образы, публикуемые от проверенных издателей, также не будут ограничиваться политикой хранения неактивных образов.


Политика хранения будет применяться к репозиториям, меткам или образам?


Политика будет применяться только к образам репозитория, к которым не было обращения в последние 6 месяцев, включая нессылаемые образы и предыдущие метки образов. Для дополнительной информации смотрите документацию.


Например, если скачивается метка «:latest», будет ли это оберегать от удаления все предыдущие версии?


Нет. Если скачивается метка «:latest» — только последняя версия «:latest» будет помечена как активная. Статус предыдущих версий метки не будет меняться.


Что произойдет после удаления неактивного образа?


Образ, к которому не обращались в течение последних 6 месяцев, будет помечен как «неактивный», а также будет помечен для удаления. Как только образ помечен как неактивный, он больше не может быть скачан. Неактивные образы будут также видимыми (в панели управления образами) некоторое время, так что клиенты будут иметь возможность восстановить образы.


Можно ли восстановить удаленные образы?


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


Если у меня устаревший тарифный план (основанный на репозитории), будет ли касаться моей учетной записи политика хранения неактивных образов и ограничения по скачиванию?


Существующие устаревшие подписки не являются целью политики и ограничений на скачивание. Пожалуйста, помните, что такие клиенты должны будут перейти до 31 января 2021 года на новые тарифные планы.


Что такое ограничения по скачиванию образов из репозитория Docker Hub?


Ограничения на скачивание образов Docker основаны на типе учетной записи пользователя, запрашивающего образ, но не типе учетной записи владельца образа. Они определены здесь.


При этом будут применяться максимальные права пользователя, основанные на его личной учетной записи и любых организациях, к которым она принадлежит. Неавторизованные загрузки являются «анонимными» и ограничиваются по IP-адресу вместо пользовательского ID. Чтобы узнать больше об авторизованной загрузке образов, ознакомьтесь с документацией.


Как определяется загрузка в целях ограничения частоты скачивания?


Запрос загрузки состоит до двух GET-запросов UTL репозитория вида /v2/*/manifests/*.


Дело в том, что скачивание манифеста многоархитектурных образов требует скачивания списка манифестов с последующим скачиванием нужного манифеста для требуемой архитектуры. Запросы HEAD не учитываются.


Обратите внимание, что все скачивания, включая скачивания для образов, которые уже у вас имеются, подсчитываются этим способом. Это компромисс, чтобы не считать отдельные слои.


Могу ли я запустить свое зеркало Docker Hub?


Смотрите документацию, чтобы это сделать. Поскольку в нем используются HEAD-запросы, они не будут учитываться в целях ограничения частоты скачивания. Также обратите внимание, что первоначальные запросы образов не находятся в кэше, так что они будут учитываться.


Считаются ли слои образов?


Нет. Поскольку мы ограничиваем запросы манифестов, число слоев (blob запросов) при скачивании не ограничивается на данный момент. Это изменение нашей предыдущей политики, основанное на отзывах от сообщества. Цель изменения — сделать политику более дружественной к пользователям, так что пользователям не нужно считать слои каждого образа, который они могут использовать.


Анонимные скачивания ограничиваются по частоте, основываясь на IP-адресе?


Да. Частота запросов ограничена по отдельным IP-адресам (например, для анонимных пользователей: 100 запросов за 6 часов с одного адреса). Смотрите подробнее здесь.


Запросы на скачивание от пользователей, вошедших в свои учетные записи, ограничиваются по IP-адресам?


Нет, запросы на скачивание от авторизованных пользователей основываются на учетных записях, а не IP. Учетные записи Free ограничены в 200 запросов за шестичасовой промежуток времени. Платные учетные записи не ограничены.


Будут ли действовать ограничения, если я зашел в свою учетную запись, а затем кто-то анонимно с моего IP уперся в ограничение?


Нет, пользователи, вошедшие в свои учетные записи для скачивания образов, будут ограничиваться основываясь только на типе учетной записи. Если анонимный пользователь с вашего IP получит ограничение, оно вас не коснется до тех пор, пока вы авторизованы, или не упретесь в своё ограничение.


Имеет ли значение, какой образ я скачиваю?


Нет, все образы считаются одинаковыми. Ограничения полностью основаны на уровне учетной записи, под которой пользователь скачивает образы, а не на уровне учетной записи владельца репозитория.


Будут ли эти ограничения изменяться?


Мы будем внимательно наблюдать за ограничениями и следить за тем, чтобы они были релевантны типовым случаям использования в соответствии с их уровнем. В частности, Free и анонимные ограничения всегда должны удовлетворять обычным рабочим процессам одного разработчика. По такому принципу и по мере необходимости будут вноситься корректировки. Вы также можете написать нам свое мнение по лимитам.


А что насчет систем CI, где скачивания будут анонимными?


Мы понимаем, что есть обстоятельства, при которых допустимы множественные анонимные скачивания. Например, облачные поставщики CI могут запускать сборки, основанные на PR к проектам с открытым исходным кодом. Владельцы проектов могут быть не в состоянии безопасно использовать свои учетные данные от Docker Hub, чтобы авторизовать скачивания в этом случае, а с масштабы подобных поставщиков вероятно заставят сработать ограничения. Мы, конечно, будет разрешать подобные случаи по требованию и продолжим совершенствовать механизмы ограничения частоты скачивания для улучшения взаимодействия совместно с этими поставщиками. Пишите нам на mailto:support@docker.com, если у вас возникли трудности.


Будет ли Docker предлагать отдельные тарифные планы для проектов с открытым исходным кодом?


Да, Docker в рамках поддержки Open Source сообщества позже анонсирует новые тарифные планы для них. Чтобы подать заявку на такой тарифный план, заполните форму.


N.B. На уроках видеокурса по Docker, который в Слёрме записали летом 2020, спикеры подробно рассказывают о работе с образами на продвинутом уровне. Присоединяйтесь!