收起左侧

使用 dkTurbo 加速 Docker 镜像拉取

1
回复
3235
查看
[ 复制链接 ]

2

主题

5

回帖

0

牛值

fnOS系统内测组

2024-12-31 14:13:04 显示全部楼层 阅读模式

众所周知,飞牛为了解决docker网络问题,不是直连官方镜像,而是自己做了一套镜像缓存,部分项目拉不到、更新也有延迟。

今天给大家介绍一个非常实用的工具——dkTurbo,它可以帮助我们加速 Docker 镜像的拉取过程。如果你经常遇到 DockerHub 镜像拉取缓慢的问题,那么 dkTurbo 绝对是你的救星!

什么是 dkTurbo?

dkTurbo 是一个 Docker 镜像加速器,它通过自动换源的方式,帮助我们使用更快的镜像源来加速 Docker 镜像的下载。无论是新手还是老手,dkTurbo 都能让你轻松上手,真正做到“喂饭到你嘴里”!

项目文档

如何使用 dkTurbo?

一键运行

# 每一项参数都是必要的,请勿随意修改除环境变量以外的参数
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 run --rm 
--name=dkturbo 
-v /etc/docker:/etc/docker 
-v /opt:/opt 
-e MODE=proxy 
-e HTTP_PROXY=172.17.0.1:10808 
-e HTTPS_PROXY=172.17.0.1:10808 
--network=bridge 
--pid=host 
--privileged 
registry.cn-shenzhen.aliyuncs.com/cp0204/dkturbo:main

使用 docker-compose

如果你更喜欢使用 docker-compose,可以创建一个 docker-compose.yml 文件,内容如下:

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

启动 = 自动换源

当你启动 dkTurbo 后,它会自动测速并修改镜像源。你可以在容器日志中查看工作进度。

容器停止 = 换源成功

换源完成后,dkTurbo 会自动停止自身,并重启系统的 Docker 服务。此时,你可以删除容器。

运行效果

96aaad87a55a238f43e0dcb266790fb6.jpg

进阶使用

dkTurbo 提供了两种加速模式,你可以根据网络环境和需求选择合适的模式:

1. registry 模式 (默认)

此模式下,dkTurbo 会从指定的 registry 镜像源下载所需资源,无需配置代理,更加简单便捷。

环境变量 说明
MODE registry (默认) 加速模式
REGISTRY auto (默认) 加载在线镜像列表,自动选择最快的镜像
local 使用内置列表,自动选择
your.domain.com 使用自定义镜像
none 取消镜像设置

2. proxy 模式

此模式下,docker pull 流量都会通过代理服务器,适合本地开有代理的用户。

环境变量 说明
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-**rorsproxies 键,以达到配置的目的。

有关 daemon.json 配置工作原理的更多信息,请参阅 Docker 官方文档:

技术细节:

  • 通过 docker pull 运行的时间测速,选择最快的镜像源
  • 通过 docker info 获取当前系统 Docker 配置,判断是否需要修改
  • 通过 docker run --pid=host --privileged 取得在主机中运行命令的权限
  • 通过 jq 安全地修改 JSON 文件(v2)

希望这个教程能帮助大家更好地使用 dkTurbo,加速 Docker 镜像的拉取过程。如果你有任何问题或建议,欢迎在评论区留言讨论!

Happy Dockerizing! 🐳

收藏
送赞 2
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

5

主题

16

回帖

0

牛值

江湖小虾

2024-12-31 14:35:23 显示全部楼层
虚心求教,可以解决Docker无法更新的问题嘛?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则