ITADN
DaoCloud/public-image-mirror
DaoCloud/public-image-mirror · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

public-image-mirror

源仓库 Github
Mirror 仓库 Gitee

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

背景 & 目标

许多镜像都位于国外。例如 gcr。国内下载速度较慢,需要加速。

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

快速开始

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

使用方法

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

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

或者 支持的镜像仓库 的 前缀替换 就可以使用。比如:

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

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

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

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

这里每个源站的内容都是不同的,请勿将 docker.io 以外的站点配置到 docker 的 registry-mirrors 中

源站替换为备注
docker.elastic.coelastic.m.daocloud.io
docker.iodocker.m.daocloud.io
dhi.iodhi.m.daocloud.io
gcr.iogcr.m.daocloud.io
ghcr.ioghcr.m.daocloud.io
k8s.gcr.iok8s-gcr.m.daocloud.iok8s.gcr.io 已迁移至 registry.k8s.io
registry.k8s.iok8s.m.daocloud.io
mcr.microsoft.commcr.m.daocloud.io
nvcr.ionvcr.m.daocloud.io
quay.ioquay.m.daocloud.io
registry.ollama.aiollama.m.daocloud.io实验内测中,使用方法

最佳实践

部署内网缓存

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

加速 Kubernetes

加速安装 kubeadm

apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
dns:
  imageRepository: k8s.m.daocloud.io/coredns
imageRepository: k8s.m.daocloud.io
...

加速安装 kind

kind create cluster --name kind --image m.daocloud.io/docker.io/kindest/node:v1.22.1

加速所有 Pod

https://github.com/wzshiming/repimage

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

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

加速 Containerd

加速 Docker

添加到 /etc/docker/daemon.json

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

加速 Podman

添加到 /etc/containers/registries.conf (rootless 模式也可以添加到 ~/.config/containers/registries.conf)

[[registry]]
location = "docker.io"

[[registry.mirror]]
location = "docker.m.daocloud.io"

与 Docker 不同, Podman 还支持为 docker.io 之外的 registry 配置 mirror, 例如:

[[registry]]
location = "gcr.io"

[[registry.mirror]]
location = "gcr.m.daocloud.io"

[[registry]]
location = "ghcr.io"

[[registry.mirror]]
location = "ghcr.m.daocloud.io"

[[registry]]
location = "quay.io"

[[registry.mirror]]
location = "quay.m.daocloud.io"

[[registry]]
location = "registry.k8s.io"

[[registry.mirror]]
location = "k8s.m.daocloud.io"

加速 Ollama & DeepSeek

加速安装 Ollama

CPU:

docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama docker.m.daocloud.io/ollama/ollama

GPU 版本:

  1. 首先安装 Nvidia Container Toolkit
  2. 运行以下命令启动 Ollama 容器:
docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama docker.m.daocloud.io/ollama/ollama

更多信息请参考:

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

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

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

# 使用加速源
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

[友情链接]加速二剑客

贡献者

contrib.rocks 制作。