Виммельбух, 3, перетяжка
Виммельбух, 3, перетяжка
Виммельбух, 3, перетяжка

Docker Hub в России — всё? Гайд, как обойти блокировку

Аватарка пользователя Анна Ельцова
для
Логотип компании Tproger
Tproger
Отредактировано

Российские пользователи не могут попасть на Docker Hub — позавчера все IP-адреса были заблокированы. Не паникуем — это можно починить.

6К открытий32К показов
Docker Hub в России — всё? Гайд, как обойти блокировку
Upd 05.06.2024. Судя по всему, блокировку отменили, и сервис работает на территории РФ без танцев с бубном.

У пользователей из России при входе на Docker Hub вылетает такое сообщение: 

«Docker — американская компания, поэтому мы должны соблюдать правила экспортного контроля США. Теперь мы блокируем все IP-адреса, расположенные на Кубе, в Иране, Северной Корее, Республике Крым, Судане и Сирии. Если вы не находитесь в одном из этих городов, стран или регионов и заблокированы, пожалуйста, свяжитесь с нами»

Несмотря на то, что в сообщении ничего не говорится о России, техподдержка ответила одному из пользователей Хабра, что больше не сотрудничает с российскими и белорусскими компаниями и пользователи теперь не смогут купить подписку. VPN не всегда помогает, WSL2 образы тоже не скачиваются. Реакция российского сообщества очевидна. 

Пути обхода блокировки всё же есть. Ниже собрали возможные решения. 

Зеркала Docker Hub

Это зеркала репозитория — они дают доступ к тем же образам и контейнерам. Вот несколько вариантов: 

Как это работает в Docker Desktop

Открываем приложение Docker Desktop, заходим в настройки и выбираем Docker Engine. В окне появится редактор с конфигурациями JSON. В нем прописываем строки с зеркалами: 

			"registry-mirrors": [
    "https://mirror.gcr.io",
    "https://daocloud.io",
    "https://c.163.com",
    "https://registry.docker-cn.com"
  ]

		

Затем применяем Apply & Restart

Как это работает на VSP Docker

Файл конфигурации лежит в /etc/docker/daemon.json. Если его там нет, то выполните команду sudo nano /etc/docker/daemon.json. После сохранения файл появится.

Опять открываем JSON и вставляем: 

			"registry-mirrors": [
        "https://mirror.gcr.io",
        "https://daocloud.io",
        "https://c.163.com",
        "https://registry.docker-cn.com"
  ]

		

Сохраняем файл, а затем перезапускаем Docker командой sudo systemctl restart docker.

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

Прокси

Еще один способ — скачать образ через GitLab Dependency Proxy. Нужно создать группу с API и правами read_registry. Прописать:

			docker pull gitlab.com/<GROUP_NAME>/dependency_proxy/containers/alpine:latest
		

Блокировка таких крупных сервисов — крайне неприятная ситуация. Но технологии творят чудеса, поэтому паниковать раньше времени не стоит. Выход всегда есть. 

Следите за новыми постами
Следите за новыми постами по любимым темам
6К открытий32К показов