public-image-mirror

GitHub

很多镜像都在国外。比如 gcr 。国内下载很慢,需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。

AI Prompts & Endpoints
Agent Skills View CodeWiki Knowledge Base

Repository: DaoCloud/public-image-mirror


Stars: 13827

README.md

public-image-mirror

源仓库 Github
Mirror 仓库 Gitee

- 白名单 & 限流 的公开信息 #2328
- 如有疑问请咨询 #4183
- 建议将拉取任务放在闲时 凌晨(北京时间 01-07 点), 其他时间段非常拥挤
- 建议使用明确版本号的 tag, 对于 latest 这种变更后响应旧数据, 并且后台重新同步
- 本服务后端代码
- 同步队列 仅保留一小时的同步记录
- 服务状态监控

背景 & 目标

很多镜像都在国外。比如 gcr 。国内下载很慢,需要加速。

* 一个简洁有效的方法能够加速这些包。简洁的名称映射
* 易于添加,添加新的包,不需要去修改代码。
* 稳定可靠,更新实时。每天检查同步情况。
* 此项目仅是源镜像仓库 (Registry) 的 Mirror
* 所有 hash(sha256) 均和源保持一致 (懒加载机制)。
* 缓存的内容只保留 90 天, 过期后会需要重新同步。
* Manifest 内存缓存 1 小时, 所以 tag 被更新了 1 小时之后才会同步新的。
* Blob 内存缓存 1 分钟, 在期间如果 blob 到达 90 天期限被删除会报 404。

快速开始

text
docker run -d -P m.daocloud.io/docker.io/library/nginx

使用方法

增加前缀 (推荐方式)。比如:

`` log
docker.io/library/busybox
|
V
m.daocloud.io/docker.io/library/busybox

text
或者 支持的镜像仓库 的 前缀替换 就可以使用。比如:
log
docker.io/library/busybox
|
V
docker.m.daocloud.io/library/busybox
text

支持前缀替换的 Registry (不推荐)

推荐使用添加前缀的方式.

前缀替换的 Registry 的规则, 这是人工配置的, 有需求提 Issue.

除了 docker.io 这里每一个源站, 内容都是不同的, 不要把 docker.io 之外的站点配置给 registry-mirrors

| 源站 | 替换为 | 备注 |
| ------------------ | --------------------- | ---------------------------------------------- |
| docker.elastic.co | elastic.m.daocloud.io | |
| docker.io | docker.m.daocloud.io | |
| dhi.io | dhi.m.daocloud.io | |
| gcr.io | gcr.m.daocloud.io | |
| ghcr.io | ghcr.m.daocloud.io | |
| k8s.gcr.io | k8s-gcr.m.daocloud.io | k8s.gcr.io 已被迁移到 registry.k8s.io |
| registry.k8s.io | k8s.m.daocloud.io | |
| mcr.microsoft.com | mcr.m.daocloud.io | |
| nvcr.io | nvcr.m.daocloud.io | |
| quay.io | quay.m.daocloud.io | |
| registry.ollama.ai | ollama.m.daocloud.io | 实验内测中,使用方法 |

最佳实践

部署内网缓存

本地缓存部署用于在内网环境中加速镜像拉取,减少对外网的依赖。通过设置一个本地镜像仓库,您可以缓存常用的镜像。
请参考文档

加速 Kubneretes

#### 加速安装 kubeadm

yaml
apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
dns:
imageRepository: k8s.m.daocloud.io/coredns
imageRepository: k8s.m.daocloud.io
...
text
#### 加速安装 kind
bash
kind create cluster --name kind --image m.daocloud.io/docker.io/kindest/node:v1.22.1
text
#### 加速所有 Pod

https://github.com/wzshiming/repimage

不修改 yaml, helm 等, 仅使用 Webhook, 自动修改所有新建 Pod 的 image 使用本 mirror

bash
kubectl create -f https://files.m.daocloud.io/github.com/wzshiming/repimage/releases/download/latest/repimage.yaml
kubectl rollout status deployment/repimage -n kube-system
text
#### 加速 Containerd

* 参考 Containerd 官方文档: hosts.md
* 如果您使用 kubespray 安装 containerd, 可以配置
containerd_registries_mirrors

加速 Docker

添加到 /etc/docker/daemon.json

json
{
"registry-mirrors": [
"https://docker.m.daocloud.io"
]
}
text

加速 Ollama & DeepSeek

#### 加速安装 Ollama

CPU:

bash
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama docker.m.daocloud.io/ollama/ollama
text
GPU 版本:
1. 首先安装 Nvidia Container Toolkit
2. 运行以下命令启动 Ollama 容器:
bash
docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama docker.m.daocloud.io/ollama/ollama
text
更多信息请参考:
* Ollama Docker 官方文档

#### 加速使用 Deepseek-R1 模型(实验内测中)

如上述步骤,在启动了ollama容器的前提下,还可以通过加速源,加速启动DeepSeek相关的模型服务

注:目前 Ollama 官方源的下载速度已经很快,您也可以直接使用官方源

bash

使用加速源


docker exec -it ollama ollama run ollama.m.daocloud.io/library/deepseek-r1:1.5b

或直接使用官方源下载模型


docker exec -it ollama ollama run deepseek-r1:1.5b


``

[友情链接]加速二剑客

* 镜像加速:https://github.com/DaoCloud/public-image-mirror
* 二进制文件加速:https://github.com/DaoCloud/public-binary-files-mirror

贡献者

<a href="https://github.com/DaoCloud/public-image-mirror/graphs/contributors">
<img src="https://contrib.rocks/image?repo=DaoCloud/public-image-mirror" />
</a>

Made with contrib.rocks.