Доступ к Docker Hub из России. Как подключиться к Docker Hub после блокировки

87e554a981ea93068ae50833ad19ccd7.png

30 мая 2024 Docker Hub заблокировал пользователей из России, что повлияло на многие сервисы и проекты. В том числе на наш. В статье будет несколько способов оперативно получить доступ к Docker Hub из России.

Использовать зеркала Docker Hub

Как вариант, можно попробовать использовать зеркало от Google — https://mirror.gcr.io

Или от Яндекса — cr.yandex/mirror/alpine

Если у вас 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//dependency_proxy/containers/alpine:latest

в) Если используете Яндекс, может помочь следующий код

$ docker pull cr.yandex/mirror/alpine

Using default tag: latest
latest: Pulling from mirror/alpine
59bf1c3509f3: Pull complete 
Digest: sha256:e7d88de73db3d3fd9b2d63aa7f447a10fd0220b7cbf39803c803f2af9ba256b3
Status: Downloaded newer image for cr.yandex/mirror/alpine:latest
cr.yandex/mirror/alpine:latest

Через облако — Amvera Cloud

Мы сами были не готовы к блокировке, но ранее настроили проксирование на уровне сети до API OpenAI, который также блокирует российских пользователей. Это позволило нам применить ту-же механику для проксирования трафика к Docker Hub.

  1. Если у вас небольшой проект, такой как бот или сайт, использующий Docker — образ, его достаточно просто  разместить у нас, и всё должно работать. Сделать это не сложно, достаточно  загрузить через push в Git код и настроить один конфигурационный файл.

Как это работает у нас

Мы используем Kubernetes, в котором проекты пользователей работают как приложения в подах. Настраивая проксирование до OpenAI, мы реализовали технологию, когда один под управляет трафиком на уровне ноды. И если трафик идет на определенные ресурсы, система его автоматически проксирует через иностранный IP.

Соответственно, пользователям ничего дополнительно делать не нужно. Достаточно только развернуть проект в Amvera и все будет работать. 

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

Если в статье или приведённом коде допущены ошибки, прошу извинить, так как материал писался в режиме тушения пожара. В ближайшее время мы все проверим и обновим материал, дополнив его другими способами. Надеюсь, эта информация поможет преодолеть блокировку со стороны Docker Hub пользователям из России.

© Habrahabr.ru