dkTurbo自动切换Docker镜像源
Dockerhub:https://hub.docker.com/r/cp0204/dkturbo
Docker 镜像加速器,无法拉取 DockerHub 镜像?dkTurbo 来帮你。傻瓜式的应用可以帮你自动换源,从而使用更快的镜像加速下载。
使用
手动拉取:
XML/HTML代码
- #Dockerhub镜像
- docker pull cp0204/dkturbo:main
- #国内镜像
- docker pull registry.cn-shenzhen.aliyuncs.com/cp0204/dkturbo:main
一键运行:
XML/HTML代码
- # 每一项参数都是必要的,请勿随意修改除环境变量以外的参数
- docker run --rm --name=dkturbo -v /etc/docker:/etc/docker -v /opt:/opt -e MODE=registry -e REGISTRY=auto --pid=host --privileged registry.cn-shenzhen.aliyuncs.com/cp0204/dkturbo:main
docker-compose.yml
XML/HTML代码
- name: dkturbo
- services:
- dkturbo:
- image: registry.cn-shenzhen.aliyuncs.com/cp0204/dkturbo:main
- container_name: dkturbo
- volumes:
- - /etc/docker:/etc/docker
- - /opt:/opt
- environment:
- - MODE=registry
- - REGISTRY=auto
- network_mode: bridge
- restart: unless-stopped
- pid: host
- privileged: true
启动 = 自动换源
自动测速和修改镜像源,你可以在容器日志里看工作进度。
容器停止 = 换源成功
换源后自动停止自身,并重启系统 Docker 服务,此时容器可以删除。
进阶使用
本应用提供两种加速模式,您可以根据网络环境和需求选择合适的模式:
1. registry 模式 (默认)
此模式下,应用会从指定的 registry 镜像源下载所需资源,无需配置代理,更加简单便捷。
XML/HTML代码
- 环境变量 值 说明
- MODE registry (默认) 加速模式
- REGISTRY auto (默认) 加载在线镜像列表,自动选择最快的镜像
- local 使用内置列表,自动选择
- your.domain.com 使用自定义镜像
- none 取消镜像设置
2. proxy 模式
此模式下,docker pull 流量都会通过代理服务器,适合本地开有代理的用户。
XML/HTML代码
- 环境变量 值 说明
- MODE proxy 加速模式
- HTTP_PROXY 默认空,例 172.17.0.1:1080 HTTP 代理服务器地址
- HTTPS_PROXY 默认空,例 172.17.0.1:1080 HTTPS 代理服务器地址
- NO_PROXY localhost,127.0.0.1,.example.com 不经过代理的域名或IP地址
工作原理
dkTurbo 通过修改 /etc/docker/daemon.json 文件,添加或修改 registry-mirrors 和 proxies 键,以达到配置的目的。
有关 daemon.json 配置工作原理的更多信息,请参阅 Docker 官方文档:
技术细节:
通过 docker pull 运行的时间测速,选择最快的镜像源
通过 docker info 获取当前系统 Docker 配置,判断是否需要修改
通过 docker run --pid=host --privileged 取得在主机中运行命令的权限
通过 jq 安全地修改 JSON 文件(v2)
使用此镜像可以无脑使用Docker,自动更新最新可用的源。