back to home

DaoCloud / public-image-mirror

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

13,239 stars
1,448 forks
10 issues
Shell

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing DaoCloud/public-image-mirror in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind-ai.vercel.app/repo/DaoCloud/public-image-mirror)
Preview:Analyzed by RepoMind

Repository Summary (README)

Preview

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。

快速开始

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.io 之外的站点配置给 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实验内测中,使用方法

最佳实践

部署内网缓存

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

加速 Kubneretes

加速安装 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"
  ]
}

加速 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

[友情链接]加速二剑客

贡献者

<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.