Восстановление доступа к Docker Hub

Все известно, что Докерхаб закрыл доступ для пользователей из санкционных стран, включая РФ и РБ. Помимо стандартных всем известных способов обхода блокировок есть и специфические для docker hub. В тех случаях, когда вы не можете воспользоваться VPN или proxy, можно прописать проксирующие серверы (зеркала) для registry прямо в настройки docker клиента.

Если вы получаете ошибку 403, которая звучит так:

Error response from daemon: pull access denied for nginx, repository does not exist or may require ‘docker login’: denied: <html><body><h1>403 Forbidden</h1> Since Docker is a US company, we must comply with US export control regulations. In an effort to comply with these, we now block all IP addresses that are located in Cuba, Iran, North Korea, Republic of Crimea, Sudan, and Syria. If you are not in one of these cities, countries, or regions and are blocked, please reach out to https://hub.docker.com/support/contact/ </body></html>

то вот решения.

1. Прописать прокси сервер в конфигурацию докера

(как зеркало registry-1.docker.io)
Файл расположен в:
ОС путь к файлу конфигурации
Linux, обычная установка (root) /etc/docker/daemon.json
Linux, режим без root ~/.config/docker/daemon.json
Windows C:\ProgramData\docker\config\daemon.json
Docker Desktop (Windows) C:\Users\<user>\.docker\daemon.json

Список доступных прокси достаточно большой:

URL описание
https://cr.yandex/mirror Яндекс, РФ
https://huecker.io РФ
https://public.ecr.aws Amazon
https://quay.io RedHat
https://registry.access.redhat.com RedHat
https://registry.redhat.io RedHat
https://mirror.gcr.io Google
https://daocloud.io Китай
https://c.163.com Китай
https://registry.docker-cn.com Китай
https://dockerhub.timeweb.cloud Таймвеб, РФ

Формат конфига таков:

{
  "registry-mirrors": ["https://<my-docker-mirror-host>"]
}
Можно прописать несколько прокси через запятую:
{
 "registry-mirrors" : [ "https://cr.yandex/mirror", "https://huecker.io", "https://mirror.gcr.io" ]
}
Чтобы конфиг применился, потребуется перезапустить конфигурацию:
$ systemctl reload docker
Теперь при попытке загрузки образа, клиент docker будет сначала пытаться использовать прокси.

2. Явное указание адреса

Также при операциях с реджистри можно явно указывать прокси-сервер

$ docker pull huecker.io/library/alpine:latest

3. Сделать собственный прокси реджистри в режиме кэширования

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

Докер образ реестра необходимо запустить на машине, которая имеет доступ к публичному реестру докерхаба — https://registry-1.docker.io

Можно использовать как официальный образ, так и кастомный от Хуекера.

  • При запуске образа в конфигурации необходимо прописать upstream сервер для кэширующего сервера.
  • Конфигурация в образе хранится в файле /etc/docker/registry/config.yml

Этот файл содержит много настроек, но те, что нас интересуют, следующие:

proxy:
  remoteurl: https://registry-1.docker.io
  username: [username]
  password: [password]

Логин и пароль не являются обязательными.

Есть 2 способа перезаписать дефолтную конфигурацию реестра — через подмену config.yml и через переменные окружения.

Можно указать переменную REGISTRY_PROXY_REMOTEURL при запуске контейнера с указав  команду

docker run -d -e REGISTRY_PROXY_REMOTEURL=https://cr.yandex/mirror --restart=always --name registry registry:2

или же подменить файл целиком, примонтировав его с диска.

Запуск с доступом по 5000 порту и с монтированием выглядит так:

$ docker run -d -p 5000:5000 --restart=always --name registry \
-v `pwd`/config.yml:/etc/docker/registry/config.yml registry:2

Полный список параметров файла доступен в официальной документации.

[Посещений: 324, из них сегодня: 1]

Свежие посты

Изучаем новую встроенную графику AMD поколения Zen 5

Введение архитектуры Zen 5 — это лишь часть истории. Настоящая революция от AMD заключена в мобильных процессорах…

7 сентября 2025

Как установить антивирус ESET на Windows 7 и 8.1

Компания ESET в 2023 году перестала поддерживать Windows 7 и прочие устаревшие операционные системы в…

7 сентября 2025

Рассматриваем архитектуру процессоров AMD Zen 5

Zen 5 - новейшая и самая прогрессивная архитектура процессоров от AMD, представленная в 2024 году.…

6 сентября 2025

Известные проблемы и уязвимости процессоров Intel и AMD

Последние годы все чаще обнаруживаются проблемы с различными новыми семействами процессоров, как Intel, так и…

31 августа 2025

Расширение Wi-Fi сети на примере Mikrotik

Существует несколько способов расширить зону покрытия Wi-Fi сетей: использовать усилители Wi-Fi сигнала (репитеры), настроить WDS…

22 июля 2025

Замена аккумуляторов в ноутбуках

Заменять аккумулятор в ноутбуках необходимо, когда он перестает удерживать заряд достаточное время или же когда…

16 июля 2025