اگر توسعهدهنده نرمافزار یا متخصص DevOps در ایران باشید، به احتمال زیاد با چالش تحریم داکر (Docker) دست و پنجه نرم کردهاید. داکر به عنوان ابزاری حیاتی برای ساخت، تست و توزیع اپلیکیشنها، به بخشی جداییناپذیر از فرآیندهای توسعه مدرن تبدیل شده است. با این حال، به دلیل محدودیتهای اعمال شده، دسترسی مستقیم به داکر هاب (Docker Hub)، که مخزن اصلی ایمیجهای داکر است، برای کاربران ایرانی مسدود شده است. این مشکل تحریم داکر نه تنها سرعت توسعه را کاهش میدهد، بلکه تیمها را با چالشهای فنی جدیدی روبرو میکند.
اما نگران نباشید! این مقاله یک راهنمای جامع و کامل برای رفع تحریم داکر است. ما سه راهحل اصلی و کاربردی را به صورت گام به گام بررسی میکنیم تا بتوانید یک بار برای همیشه این محدودیت را دور بزنید و به دنیای کانتینرها بدون هیچ مانعی متصل شوید. در ادامه، به شما نشان خواهیم داد که چگونه با استفاده از میرور (Mirror)، پروکسی (Proxy) یا DNS، این مشکل را حل کنید. با ما همراه باشید.
داستان چیه؟ چرا داکر در ایران تحریم است؟
شاید این سوال برای شما هم پیش آمده باشد که دلیل اصلی تحریم داکر هاب چیست؟ ریشه این مشکل به قوانین تحریم و کنترل صادرات ایالات متحده آمریکا بازمیگردد. شرکت Docker به عنوان یک کمپانی آمریکایی، موظف است از قوانین کنترل صادرات این کشور (US Export Control Regulations) پیروی کند. این قوانین، ارائه خدمات نرمافزاری به کشورهای تحت تحریم مانند ایران، کوبا، کره شمالی، سوریه و چند کشور دیگر را ممنوع میکند. در واقع، این یک الزام قانونی است و شرکت داکر چارهای جز پایبندی به آن ندارد.
این مشکل داکر از طریق مسدودسازی بازههای آدرس IP (IP Range) ایران اعمال میشود. وقتی شما از داخل ایران تلاش میکنید به سرویسهای داکر متصل شوید، درخواست شما به دلیل قرار داشتن IP شما در لیست تحریم، شناسایی و رد میشود. این محدودیت فراتر از عدم امکان دانلود (pull) ایمیجها است و میتواند تمام خدمات داکر، از جمله ورود به حساب کاربری (login) و ارسال (push) ایمیجها را نیز تحت تاثیر قرار دهد. درک این موضوع به شما کمک میکند تا راهحل جامعتری برای حل این مشکل داکر انتخاب کنید.
روشهای رفع تحریم داکر (مقایسه سریع)
انتخاب بهترین روش دور زدن تحریم داکر به نیازها، دانش فنی و منابع شما بستگی دارد. هیچ راهحلی برای همه ایدهآل نیست. برای کمک به یک مقایسه روشها و تصمیمگیری آگاهانه، سه رویکرد اصلی را در جدول زیر بررسی کردهایم:
روش | سرعت | پیادهسازی | هزینه | توضیح |
میرور (Mirror) | بالا | آسان | رایگان | یک کپی محلی از ایمیجها که برای تیمهای کوچک ایدهآل است و مصرف پهنای باند را به شکل چشمگیری کاهش میدهد. |
پروکسی روی VPS | وابسته به سرور | متوسط | دارای هزینه | تمام ترافیک از یک سرور خارجی عبور میکند که برای شرکتها و نیاز به پایداری بالا مناسب است. |
DNS (تحریم شکن) | متوسط | آسان | رایگان | با تغییر مسیر DNS، محدودیت IP دور زده میشود که برای استفاده موقت و Pullهای ساده کاربرد دارد. |
این جدول به خوبی نشان میدهد که انتخاب راهکار برای رفع تحریم داکر، یک تصمیم کاملاً استراتژیک است و باید با نیازهای عملیاتی شما هماهنگ باشد. در واقع، بهترین روش برای یک نفر، لزوماً بهترین روش برای دیگری نیست.
برای مثال، یک توسعهدهنده فردی یا یک دانشجو که به صورت پروژهای کار میکند، احتمالاً به دنبال راهحلی ساده، سریع و رایگان است. برای چنین کاربری، پیچیدگی و هزینه راهاندازی یک سرور اختصاصی منطقی نیست. در این سناریو، روشهایی مانند استفاده از DNS یا یک میرور عمومی، گزینههای ایدهآلی هستند، زیرا در کمترین زمان و بدون هیچ هزینهای، مشکل اصلی یعنی pull کردن ایمیجها را حل میکنند. از طرف دیگر، یک شرکت بزرگ یا یک تیم توسعه که روی محصولی حیاتی کار میکند، اولویتهای کاملاً متفاوتی دارد. برای این تیم، پایداری، امنیت و کنترل کامل بر فرآیندها حرف اول را میزند. هرگونه قطعی یا کندی در دسترسی به رجیستری میتواند به معنای توقف توسعه و زیان مالی باشد. به همین دلیل، چنین سازمانی نمیتواند به سرویسهای عمومی که پایداری آنها تضمینشده نیست، تکیه کند و سرمایهگذاری برای راهاندازی یک پروکسی اختصاصی روی VPS، یک انتخاب هوشمندانه و ضروری برای تضمین تداوم کسبوکار محسوب میشود.
روش اول: استفاده از رجیستری میرور (Docker Mirror)
استفاده از رجیستری جایگزین یا میرور، یکی از موثرترین و پرکاربردترین روشها برای رفع تحریم داکر و همچنین افزایش سرعت دسترسی به ایمیجهاست. میرور در واقع یک کپی یا به بیان بهتر، یک کش (Cache) از ایمیجهای داکر هاب است که روی سروری دیگر، معمولاً در داخل کشور، میزبانی میشود.
عملکرد میرور به صورت یک کش pull-through است. یعنی وقتی شما برای نصب داکر و میرور کلاینت خود را تنظیم میکنید، درخواست pull ابتدا به آدرس میرور ارسال میشود. اگر ایمیج درخواستی شما در کش میرور موجود باشد، بلافاصله و با سرعت بسیار بالا از سرور داخلی برایتان ارسال میشود. اگر موجود نباشد، سرور میرور داکر ایرانی خودش ایمیج را از داکر هاب دریافت میکند، یک نسخه از آن را برای استفادههای بعدی کش میکند و سپس آن را برای شما میفرستد. این فرآیند نه تنها تحریم را دور میزند، بلکه با کاهش مصرف پهنای باند و دور زدن محدودیتهای دانلود (Rate Limits) داکر هاب، کارایی را به شدت بهینه میکند.
معرفی بهترین میرورهای داکر در ایران
در ایران چندین رجیستری داکر عمومی و معتبر توسط شرکتهای خدمات ابری و اینترنتی ارائه میشود. شما میتوانید از این سرویسها به عنوان میرور داکر ایرانی استفاده کنید تا هم سرعت بالاتری را تجربه کنید و هم مشکل تحریم را به سادگی دور بزنید. در ادامه چند مورد از بهترین گزینهها را معرفی میکنیم:
میرور آراز کلود: registry.arazcloud.com
این رجیستری توسط شرکت « ابرآراز» ارائه شده است و یکی از گزینههای خوب و پایدار برای توسعهدهندگان به شمار میرود. با استفاده از زیرساخت این شرکت، میتوانید انتظار سرعت مناسبی را داشته باشید.
میرور ابرآروان: registry.arvancloud.ir
«ابرآروان» به عنوان یکی از بزرگترین ارائهدهندگان خدمات ابری در ایران، یک میرور داکر پرسرعت و محبوب راهاندازی کرده است. این گزینه به دلیل پایداری و سرعت بالا، انتخاب بسیاری از تیمهای توسعه است.
میرور شاتل: docker.shatel.ir
گروه شرکتهای «شاتل» نیز بهعنوان یکی از تامینکنندگان اصلی اینترنت، میرور اختصاصی خود را ارائه میدهد. اگر از کاربران اینترنت این شرکت باشید، سرعت و پایداری بهتری را تجربه خواهید کرد.
گزینه عمومی جایگزین: registry.dockermirror.com
علاوه بر گزینههای ایرانی، این رجیستری نیز یک میرور عمومی و در دسترس است که میتواند به عنوان یک جایگزین خوب در مواقع لزوم استفاده شود.
نکته مهم: به یاد داشته باشید که پایداری و سرعت این میرورها ممکن است در طول زمان متغیر باشد. بهتر است همیشه عملکرد میرور انتخابی خود را زیر نظر داشته باشید، زیرا تکیه بر سرویسهای عمومی، به خصوص برای عملیاتهای حیاتی و پروژههای بزرگ، میتواند ریسک به همراه داشته باشد.
آموزش گام به گام تنظیم میرور در داکر
فرآیند کانفیگ داکر برای استفاده از میرور بسیار ساده است و تنها به ویرایش فایل daemon.json نیاز دارد. این فایل به شما اجازه میدهد تا رفتار موتور داکر را برای نصب داکر بدون تحریم شخصیسازی کنید.
تنظیمات برای لینوکس
- فایل /etc/docker/daemon.json را با یک ویرایشگر متن باز کنید. اگر این فایل وجود ندارد، آن را با دسترسی sudo ایجاد کنید.
Bash
1 | sudo nano /etc/docker/daemon.json |
- کد زیر را به فایل اضافه کنید. میتوانید از آدرس میرور دلخواه خود استفاده کنید.
JSON
1 2 3 4 5 | { "registry-mirrors": ["https://registry.arazcloud.com"] } |
نکته: مطمئن شوید که فرمت URL را دقیق و بدون هیچ مسیر اضافهای وارد میکنید تا داکر آن را نادیده نگیرد.
- تغییرات را ذخیره و سرویس داکر را با دستور زیر ریستارت کنید تا تنظیمات جدید اعمال شوند.
Bash
sudo systemctl restart docker
- برای اطمینان، میتوانید با دستور docker info | grep “Registry Mirrors” بررسی کنید که آیا میرور به درستی تنظیم شده است یا خیر.
تنظیمات در ویندوز (از طریق Docker Desktop)
در ویندوز، تنظیمات از طریق رابط کاربری گرافیکی Docker
desktop انجام میشود که کار را بسیار ساده میکند. برای این کار:
- به بخش Settings > Docker Engine بروید.
- در ویرایشگر JSON که باز میشود، کلید registry-mirrors را به همراه آدرس میرور مورد نظر خود اضافه کنید.
1 2 3 4 5 | { "registry-mirrors": ["https://registry.arazcloud.com"] } |
- در نهایت، روی دکمه Apply & Restart کلیک کنید تا تغییرات ذخیره و داکر مجدداً راهاندازی شود.
تنظیمات در مک (از طریق Docker Desktop)
مراحل تنظیم میرور در سیستمعامل مک نیز، مانند ویندوز، از طریق رابط کاربری Docker Desktop انجام میشود و کاملاً مشابه است.
- به بخش Preferences > Docker Engine مراجعه کنید.
- در ویرایشگر JSON، کلید registry-mirrors را به همراه آدرس میرور دلخواه خود وارد نمایید.
1 2 3 4 5 | { "registry-mirrors": ["https://registry.arazcloud.com"] } |
با کلیک روی دکمه Apply & Restart، تنظیمات جدید را اعمال و داکر را ریستارت کنید.
روش دوم: تنظیم پروکسی در داکر (Proxy)
تنظیم پروکسی برای داکر یک روش قدرتمند و پایدار، بهویژه برای محیطهای کاری و سازمانی است. در این روش، شما تمام ترافیک شبکه داکر را از طریق یک سرور واسط (پروکسی) که در خارج از ایران قرار دارد، هدایت میکنید. این سرور که معمولاً یک سرور مجازی (VPS) در کشوری مانند آلمان است، بدون هیچ محدودیتی به داکر هاب دسترسی دارد. این کار باعث میشود داکر هاب درخواست را از IP سرور پروکسی دریافت کند و در نتیجه، تحریم مبتنی بر IP را با موفقیت دور بزند. این روش برای تمامی عملیات داکر از جمله login و push که ممکن است با روشهای دیگر به درستی کار نکنند، انعطافپذیری بالایی دارد.
آموزش ست کردن پروکسی روی داکر (Docker Daemon)
برای کانفیگ پروکسی داکر باید متغیرهای محیطی HTTP_PROXY و HTTPS_PROXY را برای سرویس داکر تعریف کنید.
برای لینوکس با systemd (روش پیشنهادی)
- یک دایرکتوری برای تنظیمات سفارشی سرویس داکر ایجاد کنید.
Bash
1 | sudo mkdir -p /etc/systemd/system/docker.service.d |
- یک فایل کانفیگ جدید برای پروکسی بسازید (برای مثال http-proxy.conf).
Bash
1 | sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf |
- محتوای زیر را در فایل وارد و آدرس و پورت پروکسی خود را جایگزین کنید.
1 2 3 4 5 6 7 8 9 | Ini, TOML [Service] Environment="HTTP_PROXY=http://proxy.example.com:8080" Environment="HTTPS_PROXY=https://proxy.example.com:8080" Environment="NO_PROXY=localhost,127.0.0.1,*.local" |
متغیر NO_PROXY برای مشخص کردن آدرسهایی است که نباید از پروکسی استفاده کنند، مانند رجیستریهای داخلی.
- تغییرات را بارگذاری و سرویس داکر را با دستور زیر ریستارت کنید. این کار رفع مشکل لاگین داکر و خطاهای دیگر را ممکن میسازد.
Bash
1 2 3 | sudo systemctl daemon-reload sudo systemctl restart docker |
نکته برای Docker Desktop (ویندوز و مک): تنظیمات پروکسی در daemon.json توسط Docker Desktop نادیده گرفته میشود. شما باید متغیرهای محیطی پروکسی را در سطح سیستمعامل تنظیم کنید.
دریافت ایمیج با تونل داکر هاست (استفاده از VPS)
این روش یک راهکار پیشرفتهتر، امنتر و بسیار پایدار برای دور زدن تحریمهاست. با استفاده از یک SSH Tunnel، شما در واقع یک “پل” یا کانال رمزنگاریشده و خصوصی بین کامپیوتر خود و یک سرور مجازی (VPS) در خارج از کشور ایجاد میکنید. تمام ترافیک داکر شما از این کانال امن عبور میکند، که این موضوع امنیت و حریم خصوصی دادهها را به شدت افزایش میدهد. از آنجا که شما کنترل کامل بر این زیرساخت دارید، این روش پایدارتر از پروکسیها یا DNSهای عمومی است. مراحل راهاندازی گام به گام روش تونل SSH از طریق VPS عبارتند از:
گام اول: تهیه سرور مجازی (VPS)
ابتدا نیاز به یک سرور مجازی دارید. میتوانید این سرور را از ارائهدهندگان معتبر داخلی یا خارجی تهیه کنید.
- نکته انتخاب سرور: بهتر است سرور شما در یکی از کشورهای اروپایی (مانند آلمان یا فنلاند) قرار داشته باشد، زیرا معمولاً کمترین تأخیر را تا سرورهای داکر هاب دارند. برای این کار نیازی به سرور قدرتمندی ندارید و یک VPS با منابع پایه نیز کافی است.
گام دوم: تنظیم و آمادهسازی سرور SSH
پس از تهیه سرور، از طریق SSH به آن متصل شوید و مطمئن شوید که سرور شما بهروز است. فعال بودن سرویس SSH برای برقراری تونل ضروری است. در اکثر توزیعهای لینوکس، سرویس SSH به صورت پیشفرض فعال است.
گام سوم: ایجاد تونل امن (SSH Tunnel)
حالا از سیستم محلی خود (کامپیوتری که داکر روی آن نصب است)، دستور زیر را در ترمینال اجرا کنید تا تونل برقرار شود. این دستور یک SOCKS proxy روی پورت 8080 سیستم شما ایجاد میکند.
Bash
1 | ssh -D 8080 user@your_vps_ip -N |
- user@your_vps_ip: نام کاربری و آدرس IP سرور مجازی شماست.
- ssh -D 8080: به SSH میگوید یک پروکسی SOCKS پویا روی پورت 8080 کامپیوتر شما ایجاد کند. این پروکسی تمام ترافیکی که به آن ارسال میشود را از طریق VPS شما به اینترنت میرساند.
- -N: این سوییچ به SSH دستور میدهد که هیچ دستوری را روی سرور اجرا نکند و فقط تونل را باز و فعال نگه دارد. این ترمینال را تا زمانی که به تونل نیاز دارید، باز بگذارید.
گام چهارم: پیکربندی داکر برای استفاده از تونل
این مرحله کلیدی است. داکر به طور مستقیم از پروکسی SOCKS پشتیبانی نمیکند. بنابراین، ما به یک ابزار واسط نیاز داریم تا پروکسی SOCKS را به یک پروکسی HTTP تبدیل کند که برای داکر قابل فهم باشد. ابزار privoxy برای این کار عالی است.
- نصب Privoxy (روی کامپیوتر محلی): ابتدا privoxy را روی کامپیوتر خود نصب کنید.
Bash
1 2 3 | # For Ubuntu/Debian sudo apt install privoxy |
- پیکربندی Privoxy: فایل تنظیمات privoxy را با دستور زیر باز کنید.
Bash
1 | sudo nano /etc/privoxy/config |
به انتهای فایل بروید و خط زیر را اضافه کنید. این خط به privoxy میگوید که تمام ترافیک را به پروکسی SOCKS که در مرحله قبل ساختیم (روی پورت 8080) ارسال کند.
forward-socks5 / localhost:8080 .
سپس سرویس privoxy را با دستور زیر ریستارت کنید:
Bash
sudo systemctl restart privoxy
- تنظیم داکر: حالا داکر را طوری تنظیم کنید که از پروکسی HTTP که privoxy در اختیار ما قرار میدهد (معمولاً روی پورت 8118) استفاده کند. این کار دقیقاً مشابه تنظیم متغیرهای محیطی است که در بخش پروکسی توضیح داده شد.
فایل /etc/systemd/system/docker.service.d/http-proxy.conf را بسازید و محتوای زیر را در آن قرار دهید:
Ini, TOML
[Service]
Environment=”HTTP_PROXY=http://localhost:8118″
Environment=”HTTPS_PROXY=http://localhost:8118″
در نهایت، داکر را ریستارت کنید:
Bash
sudo systemctl daemon-reload
sudo systemctl restart docker
با انجام این مراحل، شما یک پروکسی اختصاصی، امن و پایدار برای داکر خود راهاندازی کردهاید.
روش سوم: دور زدن تحریم داکر با شکن و Proxy (DNS)
استفاده از یک سرویس DNS هوشمند مانند «شکن»، سادهترین و سریعترین روش برای کاربرانی است که میخواهند بدون هیچگونه پیکربندی پیچیدهای، تحریم داکر را دور بزنند. این روش با تغییر تنظیمات DNS کل سیستمعامل شما کار میکند و برای نیازهای فوری و موقتی، یک گزینه عالی است. اما این روش چگونه کار میکند؟
تصور کنید DNS یک دفترچه تلفن هوشمند برای اینترنت است. وقتی شما آدرس docker.com را وارد میکنید، سیستم شما از این دفترچه تلفن میپرسد که آدرس IP این سایت چیست.
- DNS معمولی: آدرس IP واقعی داکر هاب را به شما میدهد که سرورهای آن IP شما را به دلیل تحریم مسدود کردهاند.
- DNS شکن: مانند یک اپراتور هوشمند عمل میکند. وقتی درخواست شما برای یک سایت تحریمشده را دریافت میکند، به جای آدرس اصلی، آدرس IP یکی از سرورهای واسط خودش را به شما میدهد. این سرورهای واسط تحریم نیستند و میتوانند درخواست شما را به مقصد اصلی برسانند.
در واقع، شکن ترافیک شما را برای سایتهای تحریمشده از یک مسیر جایگزین و بدون محدودیت عبور میدهد.
نحوه تنظیم و آدرسهای DNS
برای استفاده از این روش، کافیست آدرسهای DNS سیستمعامل خود (در بخش تنظیمات شبکه) را به آدرسهای زیر تغییر دهید:
1 2 3 | 178.22.122.100 185.51.200.2 |
مزایا و محدودیتهای کلیدی دور زدن تحریم داکر با شکن
- نقطه قوت اصلی (سادگی و سرعت): این روش به دلیل سادگی فوقالعاده و رایگان بودن، برای عملیات pull کردن ایمیجها بسیار مؤثر و جذاب است. شما در عرض چند ثانیه و بدون نیاز به ویرایش هیچ فایلی، مشکل را حل میکنید.
- نقطه ضعف کلیدی (محدودیت در عملیات پیچیده): این روش برای عملیاتهای پیچیدهتر مانند login به حساب کاربری داکر یا push کردن ایمیجها به رجیستریهای خصوصی، کارایی لازم را ندارد و معمولاً با خطا مواجه میشود. دلیل این محدودیت، ماهیت پروتکل DNS است که تنها وظیفه “ترجمه نام به IP” را بر عهده دارد و نمیتواند فرآیندهای انتقال داده امن و احرازهویتشده را مدیریت کند.
نکات کاربردی و مشکلات رایج (Troubleshooting)
حالا که با روشهای مختلف دور زدن تحریم داکر آشنا شدید، وقت آن است که به چند مشکل رایج بپردازیم که ممکن است در حین کار با آنها مواجه شوید. حتی با بهترین تنظیمات هم گاهی مشکلاتی پیش میآید.
چرا سرعت pull ایمیجها پایین است؟
یکی از شایعترین گلایهها، پایین بودن سرعت pull کردن ایمیجها، حتی پس از تنظیم میرور یا پروکسی است. این مشکل میتواند دلایل مختلفی داشته باشد، مانند فاصله جغرافیایی و کیفیت شبکه و محدودیت دانلود از داکر هاب (برای کاربران رایگان و احراز هویت نشده).
راهکار چیست؟
- از میرورهای ایرانی معتبر استفاده کنید: این میرورها چون در داخل کشور قرار دارند، کمترین تأخیر شبکه را برای شما خواهند داشت.
- در داکر هاب لاگین کنید: با ایجاد یک حساب کاربری رایگان در داکر هاب و اجرای دستور docker login، محدودیت دانلود شما به 20 ایمیج در 6 ساعت افزایش مییابد. این کار به پایداری بیشتر کمک میکند.
- از کش میرور بهره ببرید: مزیت اصلی میرور این است که پس از یک بار دانلود، ایمیج را در خود ذخیره میکند. دانلودهای بعدی توسط شما یا همتیمیهایتان از کش خود میرور و با سرعت بسیار بالا انجام خواهد شد.
چگونه کش داکر را پاک کنیم؟
داکر به مرور زمان مقدار زیادی ایمیج، شبکه، ولوم و کش ساخت (Build Cache) بلااستفاده را روی سیستم شما جمع میکند. این فایلها نه تنها فضای زیادی از دیسک را اشغال میکنند، بلکه گاهی اوقات میتوانند باعث بروز اختلال شوند.
راهکار چیست؟
برای پاکسازی کامل داکر، میتوانید از یک دستور قدرتمند استفاده کنید. این دستور تمام منابعی که توسط هیچ کانتینری استفاده نمیشوند را حذف میکند.
Bash
1 | docker system prune --volumes -af |
چگونه خطای SSL (x509) را رفع کنیم؟
خطای x509: certificate signed by unknown authority معمولاً زمانی رخ میدهد که شما از یک میرور یا رجیستری داخلی استفاده میکنید که گواهی SSL معتبری ندارد (مثلاً گواهی آن خودامضا یا Self-Signed است).
راهکار چیست؟
دو راه اصلی برای حل این مشکل وجود دارد که در بخش بعدی به تفصیل به آنها پرداخته شده است، اما به طور خلاصه عبارتند از:
- اعلام رجیستری به عنوان “ناامن” (Insecure): شما میتوانید به داکر بگویید که به این رجیستری خاص اعتماد کند (این کار برای میرورهای داخلی معتبر، مشکلی ندارد).
- افزودن گواهی SSL به داکر: راهکار امنتر این است که گواهی آن رجیستری را به لیست گواهیهای مورد اعتماد داکر اضافه کنید.
حل خطای x509: certificate signed by unknown authority
خطایx509: certificate signed by unknown authority یکی از مشکلات رایج است، بهخصوص زمانی که با رجیستریهای خصوصی یا میرورهایی که از گواهی SSL خودامضا (self-signed) استفاده میکنند، کار میکنید. این خطای x509 در داکر یک هشدار امنیتی است که نشان میدهد سیستم شما نمیتواند به منبعی که به آن متصل میشود، اعتماد کند.
راهحل اول: استفاده از insecure-registries (روش سریع اما ناامن)
میتوانید به داکر بگویید که به یک رجیستری خاص، حتی با گواهی نامعتبر، اعتماد کند.
- فایل daemon.json را باز کنید.
- گزینه insecure-registries را به همراه آدرس رجیستری مورد نظر اضافه کنید.
JSON
1 2 3 4 5 6 7 | { "registry-mirrors": ["http://my-mirror.local"], "insecure-registries": ["my-mirror.local"] } |
داکر را ریستارت کنید.
هشدار امنیتی بسیار مهم: این روش امنیت اتصال را به شدت کاهش میدهد و شما را در معرض حملات Man-in-the-Middle (شنود اطلاعات) قرار میدهد. از این گزینه فقط و فقط برای میرورهای داخلی و کاملاً قابل اعتماد استفاده کنید.
راهحل دوم: افزودن گواهی CA به سیستم (روش توصیهشده و امنتر)
این روش امنتر است و شامل افزودن گواهی مرجع امضاکننده (CA) رجیستری به لیست گواهیهای مورد اعتماد سیستم شما میشود.
- یک دایرکتوری برای گواهی رجیستری مورد نظر با ساختار /etc/docker/certs.d/<registry-hostname>:<port> ایجاد کنید.
- فایل گواهی CA رجیستری (معمولاً با نام ca.crt) را در این دایرکتوری کپی کنید.
- سرویس داکر را ریستارت کنید (sudo systemctl restart docker).
جمعبندی: بهترین راهحل برای رفع تحریم داکر چیست؟
انتخاب بهترین روش دور زدن تحریم داکر کاملاً به نیازهای شما بستگی دارد. در این جمعبندی نهایی، یک راهنمای سریع برای انتخاب بهتر ارائه میدهیم:
- برای توسعهدهندگان فردی و تیمهای کوچک:
- بهترین گزینه: استفاده از میرورهای ایرانی. این روش سریع، رایگان و پیادهسازی آن ساده است و برای pull کردن ایمیجها گزینهای ایدهآل محسوب میشود.
- برای شرکتها با نیاز به پایداری و امنیت بالا:
- بهترین گزینه: VPS و پروکسی اختصاصی یا . این روشها انعطافپذیری، امنیت و پایداری کامل را برای تمام عملیات داکر (شامل login و push) فراهم میکنند و برای محیطهای تولیدی ضروری هستند.
- برای یک راهحل سریع و موقت:
- بهترین گزینه: DNS شکن. این روش برای pull سریع ایمیجها بدون نیاز به پیکربندی پیچیده، بسیار مناسب است، اما پایداری کمتری دارد و برای عملیات حساس توصیه نمیشود.
در نهایت، اگر به دنبال سادگی هستید، میرور و DNS گزینههای خوبی هستند. اما اگر پایداری، امنیت و دسترسی کامل به تمام قابلیتهای داکر برای شما حیاتی است، سرمایهگذاری روی یک VPS و راهاندازی پروکسی اختصاصی، بهترین راهکار بلندمدت خواهد بود.
بدون دیدگاه