Создание Docker-ускорителя через Karing
· 3 мин. чтения
- Из-за некоторых непреодолимых обстоятельств большинство Docker registry mirror-сервисов в Китае сейчас недоступны. Часто рекомендуют поднимать собственный mirror или использовать CF Workers mirror.
- Здесь показан более прямой способ: пустить Docker через proxy и обойти блокировку.
Материалы
- Docker Engine: 26.1.3
- Karing: 1.0.24.283
Шаги
- В этом примере используется изменение
/etc/docker/daemon.json; это самый простой способ. - Способ с изменением переменных окружения systemd можно взять напрямую из официальной инструкции: Configure the Docker daemon to use a proxy server.
1. Создайте пользовательский маршрут, если нужно
- Этот шаг можно пропустить: в Karing по умолчанию есть правило
geoip/cn, и не-китайские IP автоматически пойдут через proxy. - Но можно, как в примере, создать отдельный маршрут для Docker-доменов.
Создание пользовательского правила
-
- Настройки -> Разделение трафика -> Правила разделения -> кнопка редактирования справа вверху (значок ✏)
- -> Пользовательская группа разделения -> кнопка ➕ справа вверху -> примечание
docker - -> В списке правил выберите docker
- -> Прокрутите до встроенных правил
Rule Set(build-in) - Найдите и выберите
geosite:docker - Нажмите √ справа вверху для сохранения
-
- Настройки -> Разделение трафика ->
Правила разделения->docker-> измените действие на Текущий выбор.
- Настройки -> Разделение трафика ->
Проверка
- Настройки -> Разделение трафика -> в самом низу
Проверка правил разделения- Проверьте docker.com и docker.io.
- Как на скриншотах:
2. Получите IP-адрес и порт proxy Karing
-
Настройки -> Общий доступ к сети -> включите
Разрешить доступ другим хостам.- Заодно посмотрите
Сетевой интерфейс, чтобы получить текущий IP-адрес, например 172.25.83.1.
- Заодно посмотрите
-
Настройки ->
Порты-> получите текущий открытый порт, по умолчанию:- Полностью через proxy 3066
-
См. также: Общий доступ к портам
3. Добавьте proxy-конфигурацию Docker
- Файл:
/etc/docker/daemon.json- Измените файл, заменив IP/Port на свои:
/etc/docker/daemon.json{
"proxies": {
"http-proxy": "socks5://172.25.83.1:3066",
"https-proxy": "socks5://172.25.83.1:3066"
}
} - Перезапустите Docker daemon:
$sudo systemctl daemon-reload
$sudo systemctl restart docker
- Проверьте переменные:
$docker info
...
Debug Mode: false
HTTP Proxy: socks5://172.25.83.1:3066
HTTPS Proxy: socks5://172.25.83.1:3066
...
4. Загрузите последний образ Python
docker pull python- Проверьте журнал подключений в Karing:
- Готово, можно продолжать работу.


