简介
什么是 KSpeeder ?
KSpeeder
是一个基于 Docker
的容器化应用程序,用于优化 Docker
镜像仓库的访问速度。KSpeeder
提供了一系列功能来加速镜像下载、动态负载均衡和断点续传支持。并提供了多架构支持,可以在不同的硬件平台上运行。
工作原理
- 多镜像源并发下载:
KSpeeder
支持同时从多个镜像源下载 Docker
镜像。这种并发下载方式显著提升了下载效率,减少了等待时间。 - 动态负载均衡:系统智能选择最优镜像源,根据当前网络状况和资源分配情况,自动调整下载路径,确保下载过程的平稳与快速。
- 断点续传:如果下载过程中发生中断,
KSpeeder
支持从中断位置继续下载,避免重复下载已完成的部分,节省时间和流量。 - 实时监控: 提供可视化界面,用户可以实时查看服务状态、下载进度以及其他相关信息,便于管理和优化使用体验。

主要特点
- 轻量级容器:基于
Alpine Linux
,资源占用少。 - 多架构支持:支持多种硬件架构,包括
x86_64
、ARM v6
、
ARM v7
和 ARM64
。 - Docker Compose 支持:提供
Docker Compose
文件,方便部署和管理。 - 智能镜像源选择:自动选择最佳镜像源,以提高下载速度。
应用场景
- 开发环境:适用于需要频繁下载
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 端口号

命令行安装
如果你熟悉命令行,可能用
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
@所有人:写文不易,如果你都看到了这里,请点个赞
和在看
,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。