داکر هاب برای سرور ایران؛ بدون تحریم و تغییر دستور
دسترسی مستقیم سرورهای ایران به داکر هاب عملاً مسدود است. رجیستری میرور FluxCDN این محدودیت را از مسیر دریافت ایمیج حذف میکند. ایمیجهای عمومی، اصلی و بهروز را با همان نام و دستور docker pull دریافت کنید؛ بدون دستکاری محتوا یا تغییر در Compose و CI/CD.
docker pullدریافت با دستور معمولی
رجیستری عمومی HTTPS
سازگار با docker pull
دسترسی فقطخواندنی
ایمیج اصلی را بگیرید؛ با همان Digest معتبر
عبور از محدودیت داکر هاب به معنی اعتماد به یک ایمیج ناشناس نیست. نام، Tag، Manifest و لایههای همان ایمیج عمومی در اختیار داکر قرار میگیرند.
- همگام با Tagها و نسخههای تازهنسخههای تازه ایمیجهای عمومی از همان مسیر رجیستری در دسترس میمانند.
- بدون تغییر نام یا محتوای ایمیجدستور، نام Repository و Tag همان چیزی است که در داکر هاب منتشر شده است.
- HTTPS و اعتبارسنجی مبتنی بر Digestداکر Manifest و لایهها را بر اساس Digest محتوایی بررسی میکند.
میرور داکر را متناسب با تنظیم فعلی سرور فعال کنید
اگر daemon.json ندارید، فایل آماده را بسازید. اگر فایل از قبل وجود دارد، فقط نشانی رجیستری میرور را به تنظیمات فعلی اضافه کنید تا گزینههای دیگر دستنخورده بمانند.
ساخت تنظیمات تازه
این دستور برای سیستمی است که فایل daemon.json سفارشی ندارد.
sudo install -d -m 0755 /etc/docker
sudo tee /etc/docker/daemon.json >/dev/null <<'EOF'
{
"registry-mirrors": [
"https://registry.fluxcdn.cloud"
]
}
EOF
sudo systemctl restart dockerافزودن به تنظیمات موجود
این بخش را داخل شیء اصلی JSON قرار دهید و ویرگولهای فایل را با دقت بررسی کنید.
"registry-mirrors": [
"https://registry.fluxcdn.cloud"
]فایل موجود را با نمونه کامل جایگزین نکنید؛ گزینههایی مانند Log Driver، Storage Driver یا Proxy باید حفظ شوند.
docker info | sed -n '/Registry Mirrors/,+5p'بعد از تنظیم، همان docker pull را بنویسید
برای ایمیجهای عمومی داکر هاب لازم نیست نام رجیستری را به دستور اضافه کنید. داکر نشانی میرور را از تنظیمات سرور میخواند.
- دستورهای فعلی CI/CD و Compose بدون تغییر میمانند.
- ایمیجهای رسمی داکر هاب در فضای نام library قرار دارند.
- این میرور برای ایمیجهای عمومی داکر هاب در نظر گرفته شده است.
docker pull busybox:latest
docker pull alpine:latest
docker pull nginx:latest
docker pull redis:latest
docker pull mysql:latestبرای بررسی مستقیم رجیستری میرور میتوانید مسیر کامل را بنویسید:
docker pull registry.fluxcdn.cloud/library/alpine:latestیکبار تنظیم کنید؛ بعد مثل همیشه ادامه دهید
پس از ثبت نشانی میرور، نام ایمیجها، Tagها، فایلهای Compose و دستورهای استقرار تغییری نمیکنند.
- ثبت نشانی میرور
آدرس registry.fluxcdn.cloud را در daemon.json قرار دهید.
- بررسی تنظیم
پس از راهاندازی دوباره سرویس، نشانی فعال را با docker info کنترل کنید.
- ادامه با دستورهای فعلی
docker pull، Compose و فرایندهای CI/CD بدون تغییر باقی میمانند.
نام ایمیج و Tag را دقیق بنویسید تا همان نسخهای که انتظار دارید دریافت شود.
میرور داکر برای چه ایمیجهایی مناسب است؟
این سرویس برای دریافت ایمیجهای عمومی داکر هاب است و برای انتشار ایمیجهای شخصی یا خصوصی استفاده نمیشود.
اگر داکر انجین نصب نیست، توزیع را انتخاب کنید
مخزن بسته داکر CE از رجیستری میرور جداست. برای نصب انجین در Ubuntu یا Debian، دستور متناسب با توزیع را انتخاب کنید.
نصب داکر CE در Ubuntu
کلید رسمی داکر حفظ میشود و فقط نشانی پایه بستهها به مخزن FluxCDN تغییر میکند.
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://mirror.fluxcdn.cloud/docker/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
. /etc/os-release
CODENAME="${UBUNTU_CODENAME:-$VERSION_CODENAME}"
ARCH="$(dpkg --print-architecture)"
sudo tee /etc/apt/sources.list.d/docker.sources >/dev/null <<EOF
Types: deb
URIs: https://mirror.fluxcdn.cloud/docker/linux/ubuntu
Suites: ${CODENAME}
Components: stable
Architectures: ${ARCH}
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-pluginنصب داکر CE در Debian
کلید رسمی داکر حفظ میشود و فقط نشانی پایه بستهها به مخزن FluxCDN تغییر میکند.
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://mirror.fluxcdn.cloud/docker/linux/debian/gpg \
-o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
. /etc/os-release
CODENAME="$VERSION_CODENAME"
ARCH="$(dpkg --print-architecture)"
sudo tee /etc/apt/sources.list.d/docker.sources >/dev/null <<EOF
Types: deb
URIs: https://mirror.fluxcdn.cloud/docker/linux/debian
Suites: ${CODENAME}
Components: stable
Architectures: ${ARCH}
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-pluginپرسشهای متداول میرور داکر
پاسخهای کوتاه برای فعالسازی، بررسی و بازگرداندن تنظیمات داکر.
بعد از تنظیم باید دستور docker pull را تغییر بدهم؟
خیر. برای ایمیجهای عمومی داکر هاب همان دستور معمولی را اجرا کنید؛ داکر نشانی میرور را از daemon.json میخواند.
آیا میتوانم ایمیج خودم را Push کنم؟
خیر. این رجیستری میرور فقطخواندنی است و برای دریافت ایمیجهای عمومی در نظر گرفته شده است.
آیا ایمیجهای خصوصی داکر هاب در دسترساند؟
خیر. این سرویس برای ایمیجهای عمومی داکر هاب ارائه میشود و دسترسی به ایمیجهای خصوصی را پوشش نمیدهد.
آیا GHCR یا Quay هم از این میرور عبور میکنند؟
خیر. registry.fluxcdn.cloud برای داکر هاب است و رجیستریهایی مانند GHCR، Quay، ECR و GAR را پوشش نمیدهد.
چطور فعالبودن میرور را بررسی کنم؟
پس از راهاندازی دوباره سرویس داکر، بخش Registry Mirrors را در خروجی docker info بررسی کنید و سپس یک ایمیج عمومی مانند busybox را دریافت کنید.
چطور میرور را غیرفعال کنم؟
کلید registry-mirrors را از daemon.json حذف کنید، سایر تنظیمات را دستنخورده نگه دارید و سرویس داکر را دوباره راهاندازی کنید.
دسترسی داکر هاب را روی سرور ایران برقرار کنید
وضعیت daemon.json را انتخاب کنید، کد مناسب را بردارید و اتصال رجیستری میرور را بررسی کنید.