30 мая 2024 года доступ к Docker Hub был ограничен для пользователей из России: при подключении с российского IP возникала ошибка со следующим содержанием:
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/
Впоследствии Docker Hub восстановил доступ для российских пользователей, однако возможна повторная блокировка.
Чтобы вы могли продолжать работу с репозиторием без ограничений, наши специалисты подготовили прокси-сервер с названием docker-hub.reg.ru.
В статье мы опишем настройку подключения к прокси для решений от Docker Hub:
- 1. Docker.
- 2. Podman.
Настройка локального прокси для Docker
Docker — это платформа контейнеризации, которая имеет открытый исходный код. Функционал Докера позволяет «упаковать» приложение в контейнер и далее запустить его на желаемой ОС или удаленном сервере.
Чтобы подключаться к Docker через прокси-сервер:
- 1 Если Docker установлен на удаленном сервере, подключитесь к нему по SSH или по RDP.
-
2
Откройте конфигурационный файл Docker. Путь к нему будет отличаться в зависимости от вашей операционной системы.
Linux:
~/.config/docker/daemon.json
Или:
/etc/docker/daemon.json
Windows:
C:\ProgramData\docker\config\daemon.json
Или:
C:\Users\Username\.docker\daemon.json
Вместо Username укажите имя пользователя, под которым вы авторизуетесь в системе.
Содержимое файла может иметь следующий вид:
{ "log-driver": "local" }
-
3
Добавьте адрес зеркала:
{ "registry-mirrors": ["https://docker-hub.reg.ru"] }
Итоговый вариант будет иметь следующий вид:
{ "log-driver": "local", "registry-mirrors": ["https://docker-hub.reg.ru"] }
После этого сохраните изменения и закройте файл.
-
4
Перезагрузите службу Docker. Для этого выберите команду в соответствии с вашей операционной системой.
Linux:
sudo systemctl restart docker
Windows:
Restart-Service docker
-
5
Проверьте работу Докера:
docker pull alpine:latest
Если вывод команды не содержит ошибок, значит, Docker работает корректно.
Готово, вы настроили локальный прокси для Docker.
Настройка локального прокси для Podman
Podman — это платформа управления контейнерами, которая позволяет виртуализировать приложения и процессы. При помощи Podman можно создать изолированную среду для запуска приложения.
По функционалу Podman близок к Docker. Его основное отличие — запуск без привязки к сервису, в то время как Докер запускается в качестве фоновой программы.
Чтобы подключаться к Podman через прокси-сервер:
- 1 Если Docker установлен на удаленном сервере, подключитесь к нему по SSH или по RDP.
-
2
Откройте конфигурационный файл. Обычно он имеет следующий путь:
/etc/containers/registries.conf
-
3
Добавьте строки:
[[registry]] prefix="docker.io" location="docker-hub.reg.ru"
Затем сохраните изменения и закройте файл.
-
4
Перезагрузите службу Podman. Для этого выберите команду в соответствии с вашей операционной системой.
Linux:
sudo systemctl restart podman
Windows:
Restart-Service podman
-
5
Проверьте работу Podman:
podman pull alpine:latest
Если вывод команды не содержит ошибок, значит, Podman работает корректно.
Готово, вы настроили подключение через прокси-сервер для Podman.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊