Как восстановить доступ к зеркалам docker после блокировки на территории РФ

Проблема
В ночь на 30 мая 2024 г. сервис Docker Hub закрыл доступ для пользователей из России.
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.
Сообщение указывает на то, что Docker, как американская компания, обязана соблюдать экспортные контрольные регуляции США, которые включают блокировку IP-адресов из Кубы, Ирана, Северной Кореи, Крыма, Судана и Сирии.
Решение
Список актуальных зеркал docker hub (docker registry-mirrors):
- https://mirror.gcr.io - зеркало Google
- https://dockerhub.timeweb.cloud - зеркало Timeweb
- https://dockerhub1.beget.com - зеркало Бегет
- https://c.163.com - зеркало Китай
- https://registry.docker-cn.com - зеркало Китай
- https://daocloud.io - зеркало Китай
- https://cr.yandex/mirror - зеркало Яндекс
- https://noohub.ru - зеркало noosoft
- https://quay.io - зеркало Redhat
- https://registry.access.redhat.com - зеркало Redhat
- https://registry.redhat.io - зеркало Redhat
- https://public.ecr.aws - зеркало Amazon
Linux
Добавляем в файл зеркала
Regular setup
cat << EOF | sudo tee -a /etc/docker/daemon.json { "registry-mirrors" : [ "https://dockerhub.timeweb.cloud", "https://huecker.io", "https://mirror.gcr.io", "https://c.163.com", "https://registry.docker-cn.com", "https://daocloud.io" ] } EOF Rootless mode
cat > ~/.config/docker/daemon.json <<EOF { "registry-mirrors" : [ "https://dockerhub.timeweb.
cloud", "https://huecker.io", "https://mirror.gcr.io", "https://c.163.com", "https://registry.docker-cn.com", "https://daocloud.io" ] } EOF Перезапускам процесс docker
sudo systemctl restart docker Готово ✅
MacOS
Открываем конфигурационный файл:
vim $HOME/.docker/daemon.json Добавляем в файл (внимание на запятые в конце строк)
"registry-mirrors" : [ "https://dockerhub.timeweb.cloud", "https://huecker.io", "https://mirror.gcr.io", "https://c.163.com", "https://daocloud.io", "https://registry.docker-cn.com" ], "experimental": true Перезапускаем docker, Готово ✅
Windows
Добавляем изменения в файл C:\ProgramData\docker\config\daemon.json
Авто-фикс файла daemon.json для Linux
Источник: https://github.com/StasPlov/docker-unlock/tree/main
wget -O unlock.sh https://raw.githubusercontent.com/StasPlov/docker-unlock/mai... ; \ chmod +x unlock.sh ; \ ./unlock.sh Альтернативный вариант
Запуск с явным указанием зеркала, пример:
docker pull cr.yandex/mirror/alpine docker pull huecker.io/library/alpine:latest Большое спасибо всем за внимание!
Подписывайтесь на мой канал artydev & Co.