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
-
2
Откройте конфигурационный файл Docker. Путь к нему будет отличаться в зависимости от вашей операционной системы.
Linux:
~/.config/docker/daemon.jsonИли:
/etc/docker/daemon.jsonWindows:
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 dockerWindows:
Restart-Service docker -
5
Проверьте работу Докера:
docker pull alpine:latestЕсли вывод команды не содержит ошибок, значит, Docker работает корректно.
Готово, вы настроили локальный прокси для Docker.
Настройка локального прокси для Podman
Podman — это платформа управления контейнерами, которая позволяет виртуализировать приложения и процессы. При помощи Podman можно создать изолированную среду для запуска приложения.
По функционалу Podman близок к Docker. Его основное отличие — запуск без привязки к сервису, в то время как Докер запускается в качестве фоновой программы.
Чтобы подключаться к Podman через прокси-сервер:
- 1
-
2
Откройте конфигурационный файл. Обычно он имеет следующий путь:
/etc/containers/registries.conf -
3
Добавьте строки:
[[registry]] prefix="docker.io" location="docker-hub.reg.ru"Затем сохраните изменения и закройте файл.
-
4
Перезагрузите службу Podman. Для этого выберите команду в соответствии с вашей операционной системой.
Linux:
sudo systemctl restart podmanWindows:
Restart-Service podman -
5
Проверьте работу Podman:
podman pull alpine:latestЕсли вывод команды не содержит ошибок, значит, Podman работает корректно.
Готово, вы настроили подключение через прокси-сервер для Podman.