daocloud/public-image-mirror

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

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 4 minutes ago
Added to GitGenius on September 3rd, 2026
Created on September 9th, 2021
Open Issues & Pull Requests: 9 (+0)
GitHub issues: Enabled
Number of forks: 1,564
Total Stargazers: 15,022 (+0)
Total Subscribers: 80 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 14.5 hours
Mean response time: 2.6 days
90th percentile: 4.0 days
Tracked items: 1,944

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Work labelled "sync image succeeded" is answered fastest, typically in under an hour, while "allows image" waits about 2 days. Only 12% of issues opened in the past year have been closed. Three people close 91% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 9
New in 7 days: 34
Closed in 7 days: 34
Avg open age: 396 days
Stale 30+ days: 6
Stale 90+ days: 5

Recent activity

Opened in 7 days: 31
Closed in 7 days: 33
Comments in 7 days: 4
Events in 7 days: 12

Top labels

  • sync image (13,965)
  • sync image succeeded (7,811)
  • sync image failure (6,116)
  • allows image (1,108)
  • question (6)
  • documentation (3)
  • enhancement (2)

Most active issues this week

Detailed Description

public-image-mirror is a container image mirror service that accelerates downloads of container images hosted on foreign registries.

The tool solves the problem of slow image downloads from overseas registries like Google Container Registry by providing a mirrored service with local caching. It works by offering simple prefix-based URL mappings that redirect image pulls to cached copies, with support for registries including Docker Hub, GCR, GitHub Container Registry, Quay, Microsoft Container Registry, and others. The service uses lazy-loading to maintain hash consistency with source repositories and implements caching with a 30-day retention policy for blobs and 1-hour in-memory caching for manifests.

Teams operating in regions with slow international connectivity should consider this tool, particularly those running Kubernetes clusters or Docker environments that frequently pull images from public registries. The recommended approach is adding a prefix to image names rather than using registry mirror configuration, though prefix replacement is supported for specific registries. The service includes best practices documentation for deploying local network caches, accelerating Kubernetes installations, and configuring container runtimes like Containerd and Docker. Users should prefer pulling images by SHA256 digest over mutable tags, schedule pull operations during off-peak hours, and be aware that mutable tags may serve stale data while background synchronization occurs.

The project maintains active monitoring of synchronization status and service health, with a publicly accessible queue showing sync records retained for one hour and status dashboards tracking service availability. The tool is backed by a separate backend codebase and includes documentation for local cache deployment strategies. Rate limiting and whitelisting policies are documented in the issue tracker, and the project accepts feature requests for additional registry support through its issue system.