社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

Docker镜像加速专家KSpeeder

各种折腾 • 12 月前 • 371 次点击  

简介

什么是 KSpeeder ?

KSpeeder 是一个基于 Docker 的容器化应用程序,用于优化 Docker 镜像仓库的访问速度。KSpeeder 提供了一系列功能来加速镜像下载、动态负载均衡和断点续传支持。并提供了多架构支持,可以在不同的硬件平台上运行。

工作原理

  1. 多镜像源并发下载KSpeeder 支持同时从多个镜像源下载 Docker 镜像。这种并发下载方式显著提升了下载效率,减少了等待时间。
  2. 动态负载均衡:系统智能选择最优镜像源,根据当前网络状况和资源分配情况,自动调整下载路径,确保下载过程的平稳与快速。
  3. 断点续传:如果下载过程中发生中断,KSpeeder 支持从中断位置继续下载,避免重复下载已完成的部分,节省时间和流量。
  4. 实时监控: 提供可视化界面,用户可以实时查看服务状态、下载进度以及其他相关信息,便于管理和优化使用体验。

主要特点

  1. 轻量级容器:基于 Alpine Linux,资源占用少。
  2. 多架构支持:支持多种硬件架构,包括 x86_64ARM v6 ARM v7 和 ARM64
  3. Docker Compose 支持:提供 Docker Compose 文件,方便部署和管理。
  4. 智能镜像源选择:自动选择最佳镜像源,以提高下载速度。
  5. 实时监控:提供下载速度监控和可视化状态监控界面。
  6. 支持 HTTPS:安全地访问镜像仓库。
  7. 限速功能:可以配置带宽限制,控制下载速度。
  8. 异步读取优化:提高下载效率,减少等待时间。

应用场景

  • 开发环境:适用于需要频繁下载 Docker 镜像的开发者,提升开发效率。
  • 企业级应用:为企业提供高效的 Docker 镜像管理和下载解决方案,确保持续集成和部署的顺畅。
  • 教育和科研:在教育机构和科研单位中,快速获取和管理 Docker 镜像,提高学习和研究的效率。
  • 多用户环境:支持多用户并发下载镜像,适合团队合作。

总之,KSpeeder 是一个强大的工具,可以帮助用户高效管理和加速 Docker 镜像的下载和使用。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 kspeeder ,选择第一个 linkease/kspeeder,版本选择 latest

本文写作时,  latest 版本对应为  0.3.0

在 docker 文件夹中,创建一个新文件夹 kspeeder,并在其中建两个子文件夹 config 和  data

文件夹
装载路径
说明
docker/kspeeder/data/kspeeder-data
数据存储目录
docker/kspeeder/config/kspeeder-config
配置文件目录

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口
容器端口
说明
54455443KSpeeder
 主服务端口
54445003
管理监控端口

命令行安装

如果你熟悉命令行,可能用  docker cli 更快捷

# 新建文件夹 kspeeder 和 子目录
mkdir -p /volume1/docker/kspeeder/{config,data}

# 进入 kspeeder 目录
cd /volume1/docker/kspeeder

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name kspeeder \
   -p "5445:5443" \
   -p "5444:5003" \
   -v $(pwd)/data:/kspeeder-data \
   -v $(pwd)/config:/kspeeder-config \
   linkease/kspeeder:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

services:
  kspeeder:
    image:linkease/kspeeder:latest
    container_name:kspeeder
    restart:unless-stopped
    ports:
      -"5445:5443"
      -"5444:5003"
    volumes:
      -./data:/kspeeder-data
      -./config:/kspeeder-config

然后执行下面的命令




    
# 新建文件夹 kspeeder 和 子目录
mkdir -p /volume1/docker/kspeeder/{config,data}

# 进入 kspeeder 目录
cd /volume1/docker/kspeeder

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:5444 就能看到主界面

为了测试速度,老苏打算用个比较大的镜像,例如 ollama 来做测试,顺便给容器升个级

正常情况下,我们用的下载命令行是

docker pull ollama/ollama:latest

想要通过 KSpeeder 实现加速,需要给镜像添加前缀(注册表)  registry.linkease.net:KSpeeder主服务的主机端口,因为老苏的主机端口 5443 被占用了,所以映射为了 5445,因此要添加的完整前缀就是 registry.linkease.net:5445

docker pull registry.linkease.net:5445/ollama/ollama:latest

峰值还是不错的

当然也会遇到 Retry 的情况

下载的镜像,显示的注册表是  registry.linkease.net:5445

而正常下载的镜像,因为没有前缀,所以注册表显示的是 Docker Hub

因此,如果想像原来一样使用,需要多一个重命名的步骤

docker tag registry.linkease.net:5445/ollama/ollama:latest ollama/ollama:latest

现在只要先停止,然后重置一下,再次启动,就完成了 ollama 的升级

参考文档

linkease/docker_kspeeder: Docker镜像加速专家 多镜像并发下载,动态负载均衡,断点续传支持,Docker镜像代理服务
地址:https://github.com/linkease/docker_kspeeder

KSpeeder | Docker镜像加速专家
地址:https://kspeeder.istoreos.com/

快速开始指南 | KSpeeder
地址:https://kspeeder.istoreos.com/guide/getting-started.html

@所有人:写文不易,如果你都看到了这里,请点个在看,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/185057