Источники
Предисловие
Если вы получаете подобную ошибку:
Error response from daemon: pull access denied for traefik, 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>
То поздравляю, вы попали под блокировку от Docker Hub, и теперь вы не можете просто так взять и скачать образы. К данному моменту уже вышли инструкции по исправлению данной проблемы. В качестве решения предлагается воспользоваться прокси, указав их в качестве registry-mirrors
. Однако, если вы не доверяете сторонним сервисам и владеете любым сервером, у которого все еще есть доступ к Docker Hub, предлагаю использовать его. Для этого поднимите следующий контейнер:
Если такого сервера у вас нет, то используйте прокси, которому доверяете. Рекомендовать какой-либо в рамках данной статьи я не берусь.
Установка средствами Docker-compose
|
|
|
|
CLI Установка
|
|
Настройка registry-mirrors
Теперь переходим на машину, где возникает ошибка. Укажите свой сервер в качестве зеркала в конфигурационном файле /etc/docker/daemon.json
:
|
|
|
|
В текущей конфигурации получается http соединение. Либо используйте vpn, либо настройте https.
После нужно перезапустить Docker:
|
|
Проверить registry-mirrors можно следующей командой:
|
|
Ближе к концу, будет пункт Registry Mirrors
, там должен быть указан ваш сервер.
Все. Попробуйте docker compose pull
, сервер скачает образ и отдаст его вам.
Docker автоматически обходит зеркало, если не может получить к нему доступ. Если вы все еще получаете ошибку 403, проверьте, правильно ли указали адрес и порт.
Получить список закешированных образов можно следующей командой:
|
|