Skip to content

Instantly share code, notes, and snippets.

@beeyev
Last active June 7, 2024 19:07
Show Gist options
  • Save beeyev/143ec1ae9eb21e7c3b6d55f1bbaf5ce2 to your computer and use it in GitHub Desktop.
Save beeyev/143ec1ae9eb21e7c3b6d55f1bbaf5ce2 to your computer and use it in GitHub Desktop.
Прокси сервер для registry-1.docker.io - hub.docker.com / Обход блокировки Docker Registry - зеркало Docker Hub

UPD: 2024-06-03, Docker HUB разблокрирван в росссии, инструкация и данные в ней потеряли актуальность.

Этот прокси можно использовать, если вы получаете ошибку

Error response from daemon: pull access denied for nginx, repository does not exist or may 
require 'docker login': denied: 403 Forbidden 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/

Настройка

Отредактировать конфиг:

Операционная система Путь к файлу конфигурации
Linux, обычная установка /etc/docker/daemon.json
Linux, режим rootless ~/.config/docker/daemon.json
Mac OS ~/.docker/daemon.json
Windows C:\ProgramData\docker\config\daemon.json
Docker Desktop (через UI, см ниже) C:\Users\<Пользователь>\.docker\daemon.json

Добавить параметр в конфиг параметр registry-mirrors со списком зеркал:

{
  "registry-mirrors": [
    "https:\/\/dockerhub.timeweb.cloud",
    "https:\/\/dh-mirror.gitverse.ru",
    "https:\/\/huecker.io",
    "https:\/\/dockerhub1.beget.com",
    "https:\/\/cr.yandex/mirror",
    "https:\/\/noohub.ru",
    "https:\/\/jockerhub.com",
    "https:\/\/public.ecr.aws",
    "https:\/\/mirror.gcr.io",
    "https:\/\/quay.io",
    "https:\/\/registry.access.redhat.com",
    "https:\/\/registry.redhat.io"
  ]
}

Note

Заполнять сам адрес proxy-сервера необходимо через :\/\/ вместо ://. В противном случае прокси работать не будет!

чтобы конфиг применился потребуется перезапустить конфигурацию:
systemctl reload docker
В Windows или Mac - gерезапустить через UI.
Теперь при попытке загрузки образа, Docker будет сначала пытаться использовать прокси.

Docker Desktop, настройка через UI

Добавить "registry-mirrors" в настройки Docker Engine как указано на скрине:

image

Обход блокировки через явное указание адреса:

Пример: docker pull dockerhub.timeweb.cloud/library/alpine:latest
или: docker pull huecker.io/library/alpine:latest
В docker-compose аналогично.

В случае использование в конфигурационных файлах Dockerfile:

FROM dh-mirror.gitverse.ru/node:21-alpine3.18

В случае использование в конфигурационных файлах docker-compose.yml:

services:
    app:
        container_name: app
        image: dh-mirror.gitverse.ru/app:latest

Конфигурирование Podman

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

[[registry]]
location = "https://dh-mirror.gitverse.ru"
insecure = true
  • Linux - /etc/containers/registries.conf
  • Mac OS и Windows:
    • a. выполните команду в терминале: podman machine ssh --username root [optional-machine-name]
    • b. скорректируйте файл: /etc/containers/registries.conf

Источники:


👾👾👾 https://github.com/beeyev ⭐🌟✨

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment