30 мая 2024 Docker Hub заблокировал пользователей из России, что повлияло на многие сервисы и проекты. В том числе на наш. В статье будет несколько способов оперативно получить доступ к Docker Hub из России.
Через облако - Amvera Cloud
Мы сами были не готовы к блокировке, но ранее настроили проксирование на уровне сети до API OpenAI, который также блокирует российских пользователей. Это позволило нам применить разработанную технологию для проксирования трафика к Docker Hub.
Если у вас небольшой проект, такой как бот или сайт, использующий Docker — образ, его достаточно просто разместить у нас, и всё должно работать. Сделать это не сложно, достаточно загрузить через push в Git код и настроить один конфигурационный файл.
Как это работает у нас
Мы используем Kubernetes, в котором проекты пользователей работают как приложения в подах. Настраивая проксирование до OpenAI, мы реализовали технологию, когда один под управляет трафиком на уровне ноды. И если трафик идет на определенные ресурсы, система его автоматически проксирует через иностранный IP.
Соответственно, пользователям ничего дополнительно делать не нужно. Достаточно только развернуть проект в Amvera и все будет работать.
Но данный способ подойдет не всем, рассмотрим альтернативные варианты.
Использовать зеркала Docker Hub
Как вариант, можно попробовать использовать зеркало от Google - https://mirror.gcr.io
Или от Яндекса - cr.yandex/mirror
Если у вас Kubernetes, возможно, вам помогут следующие инструкции.
а)
$ cat /etc/docker/daemon.json
"registry-mirrors": ["https://daocloud.io", "https://c.163.com/", "https://registry.docker-cn.com"]
б)
Использовать Dependency proxy гитлаба.
Любой образ можно скачать через него, достаточно завести группу и сделать к ней API ключ с правами read_registry. Дальше выполнить
docker pull gitlab.com/<GROUP_NAME>/dependency_proxy/containers/alpine:latest
Через проксирование
Вы можете самостоятельно реализовать proxy, о котором было в пункте выше, для этого вам нужно использовать следующие IP
Non-authoritative answer:
Name: registry-1.docker.io
Address: 54.227.20.253
Name: registry-1.docker.io
Address: 54.198.86.24
Name: registry-1.docker.io
Address: 54.236.113.205
Подробнее о том как мы реализовали проксирование к Docker Hub есть в этой статье.
Но такие способы подходят далеко не всем, поэтому мы постараемся дополнить статью в ближайшее время и другими вариантами.
Если в статье или приведённом коде допущены ошибки, прошу извинить, так как материал писался в режиме тушения пожара. В ближайшее время мы все проверим и обновим материал, дополнив его другими способами. Надеюсь, эта информация поможет преодолеть блокировку со стороны Docker Hub пользователям из России.