30 мая 2024 стало известно, что DockerHub оказался заблокированным в России. Для того чтобы обойти блокировку ДокерХаба необходимо:
- на сервере который не заблокирован DockerHub (например, расположенный в дружественной стране) установить непрозрачный прокси
- настроить авторизацию по паролю
- настроить Docker на работу с Proxy
Вот пример настроек программы tinyproxy:
User tinyproxy
Group tinyproxy
Port 8888
Timeout 600
DefaultErrorFile "/usr/share/tinyproxy/default.html"
StatFile "/usr/share/tinyproxy/stats.html"
LogFile "/var/log/tinyproxy/tinyproxy.log"
LogLevel Info
PidFile "/run/tinyproxy/tinyproxy.pid"
MaxClients 100
BasicAuth user superPsWd
ViaProxyName "superproxy"
ConnectPort 443
ConnectPort 563
Теперь необходимо перенастроить докер приложение, у меня удалось только через глобальную правку конфига /lib/systemd/system/docker.service, в секции [Service] добавляем прокси переменные:
[Service]
Type=notify
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
Environment="HTTP_PROXY=http://user:superPsWd@my-proxy.xxx:8888"
Environment="HTTPS_PROXY=http://user:superPsWd@my-proxy.xxx:8888"
Затем можно перезагрузить конфиг докера и сам докер
systemctl daemon-reload && systemctl restart docker
Работа докера с DockerHub восстановлена.