نشانیها
- رجیستری (پیشوند مخصوص هر منبع)
https://pkg.shecan.ir/v2/
| پیشوند | رجیستری اصلی | نمونهٔ نام ایمیج |
|---|---|---|
dockerhub/ | Docker Hub (docker.io) | pkg.shecan.ir/dockerhub/library/nginx:latest |
ghcr/ | GitHub Container Registry (ghcr.io) | pkg.shecan.ir/ghcr/OWNER/IMAGE:TAG |
quay/ | Quay (quay.io) | pkg.shecan.ir/quay/ORG/IMAGE:TAG |
k8s/ | Kubernetes (registry.k8s.io) | pkg.shecan.ir/k8s/pause:3.10 |
mcr/ | Microsoft (mcr.microsoft.com) | pkg.shecan.ir/mcr/dotnet/runtime:8.0 |
Docker Hub
نام ایمیج را بعد از pkg.shecan.ir/dockerhub/ بنویسید.
docker pull pkg.shecan.ir/dockerhub/library/alpine:3.20docker pull pkg.shecan.ir/dockerhub/curlimages/curl:8.10.1FROM pkg.shecan.ir/dockerhub/library/python:3.12-slimGHCR، Quay، Kubernetes و Microsoft
هر رجیستری پیشوند خودش را دارد و مسیر بعد از آن همان مسیر رجیستری اصلی است.
docker pull pkg.shecan.ir/ghcr/containerd/busybox:1.36docker pull pkg.shecan.ir/quay/prometheus/busybox:latestdocker pull pkg.shecan.ir/k8s/pause:3.10docker pull pkg.shecan.ir/mcr/dotnet/runtime-deps:8.0-alpineمیرور خودکار Docker Hub در Docker daemon
با این تنظیم، docker pull nginx بدون تغییر نام ایمیج از میرور دریافت میشود. این قابلیت Docker فقط برای Docker Hub کار میکند؛ برای GHCR، Quay و بقیه از پیشوندهای بالا استفاده کنید. اگر فایل daemon.json از قبل تنظیمات دیگری دارد، فقط کلید registry-mirrors را به آن اضافه کنید.
sudo cp /etc/docker/daemon.json /etc/docker/daemon.json.bak/etc/docker/daemon.json{
"registry-mirrors": ["https://pkg.shecan.ir"]
}sudo systemctl restart docker"registry-mirrors": ["https://pkg.shecan.ir"]containerd و Kubernetes
برای containerd (از جمله نودهای Kubernetes) برای هر رجیستری یک فایل hosts.toml بسازید. containerd باید از مسیر /etc/containerd/certs.d استفاده کند (تنظیم config_path).
/etc/containerd/certs.d/docker.io/hosts.tomlserver = "https://registry-1.docker.io"
[host."https://pkg.shecan.ir"]
capabilities = ["pull", "resolve"]/etc/containerd/certs.d/ghcr.io/hosts.toml (برای quay.io، registry.k8s.io و mcr.microsoft.com به ترتیب از /v2/quay، /v2/k8s و /v2/mcr استفاده کنید)server = "https://ghcr.io"
[host."https://pkg.shecan.ir/v2/ghcr"]
capabilities = ["pull", "resolve"]
override_path = truePodman و skopeo
/etc/containers/registries.conf — Docker Hub از طریق میرور[[registry]]
prefix = "docker.io"
location = "registry-1.docker.io"
[[registry.mirror]]
location = "pkg.shecan.ir"نکتهها و محدودیتها
- فقط دریافت (pull) پشتیبانی میشود؛
docker loginلازم نیست و push غیرفعال است. - ایمیجهای رسمی Docker Hub با پیشوند
library/آدرسدهی میشوند؛ مثلاً nginx میشودdockerhub/library/nginx. - Docker Hub برای دریافت ناشناس محدودیت نرخ دارد. ایمیجهایی که قبلاً کش شدهاند مشمول این محدودیت نیستند.