اگر با Docker کار کرده باشید، حتماً با این مشکل روبهرو شدید:
دانلود ایمیجها کند یا غیرممکن میشه
مجبورید از VPN استفاده کنید (که خودش مشکلات زیادی داره)
یا هی باید دنبال mirrorهای مختلف بگردید
این مشکل مخصوصاً برای دولوپرهای ایران خیلی آزاردهندهست. اما خوشبختانه یک ابزار اوپنسورس جدید به اسم MirrorBox ساخته شده که دقیقاً همین مسئله رو حل میکنه.
🔍 MirrorBox چیه؟
MirrorBox یک ابزار خط فرمان (CLI) مدرن بر پایهی پایتونه که بهعنوان یک پروکسی هوشمند برای Docker عمل میکنه.
یعنی چی؟ یعنی وقتی شما میخواید یک ایمیج Docker رو بکشید (docker pull)، MirrorBox:
سریعترین آینهی موجود رو پیدا میکنه
ایمیجها رو کش محلی میکنه (که بعداً بدون اینترنت هم در دسترس باشن)
با Docker Compose یکپارچه میشه
داشبورد مانیتورینگ و گزارشگیری داره
خلاصه: MirrorBox کاری میکنه که دیگه لازم نباشه با دردسرهای Docker Hub و VPN سر و کله بزنید.
✨ ویژگیهای اصلی
✅ شتابدهنده دانلود – قبل از هر دانلود، سریعترین mirror رو انتخاب میکنه.
✅ یکپارچه با Docker Compose – به جای docker-compose up از mirrorbox compose up استفاده کنید.
✅ کش هوشمند – ایمیجها بهصورت محلی ذخیره میشن و درخواستهای بعدی فوراً از روی دیسک برمیگردن.
✅ مدیریت کش کامل – دستورهایی برای لیست، ذخیره و حذف کش.
✅ کنترل تنظیمات – میتونید یه آینهی مورد علاقه (priority mirror) تنظیم کنید.
✅ داشبورد زنده – با mirrorbox monitor start وضعیت آینهها رو زنده ببینید.
📦 نصب و شروع سریع
پیشنیاز: پایتون 3.10+
۱️⃣ یک محیط مجازی بسازید:
python3 -m venv venv
۲️⃣ محیط رو فعال کنید:
لینوکس / مک:
source venv/bin/activate
ویندوز:
venv\Scripts\activate.bat
۳️⃣ نصب کنید:
pip install mirrorbox
شما میتونید با دستور زیر توضیحات و راهنما رو هم مشاهده کنید:
mirrorbox start
🛠️ چند دستور پرکاربرد
بررسی وضعیت آینهها:
mirrorbox list-mirrors
پول یک ایمیج (با انتخاب هوشمند آینه):
mirrorbox pull ubuntu:22.04
اجرای Docker Compose از طریق MirrorBox:
mirrorbox compose up -d --build
لیست ایمیجهای کششده:
mirrorbox cache list
داشبورد زنده:
mirrorbox monitor start
🎯 نتیجهگیری
اگر توسعهدهنده هستید و مدام با مشکل کندی یا تحریم Docker Hub دستوپنجه نرم میکنید، MirrorBox میتونه زندگیتون رو راحتتر کنه.
نصبش سادهست، استفادهش راحت، و مخصوصاً برای شرایط ایران طراحی شده.
🔗 لینکها:
لینک پست لینکدین: https://www.linkedin.com/posts/pouya-rezapour-bb1b79367_opensource-docker-devops-activity-7363586494705397761-b4Iv
سورس کد در گیتهاب: pouyarer/mirrorbox
نصب از PyPI: pip install mirrorbox