در این آموزش شما را با یک روش بسیار ساده جهت دور زدن تحریم های داکر و نصب داکر در سرور ایران آشنا خواهم کرد. این آموزش دو روش نصب و اجرا دارد که روش اول روش پیشنهاد بوده که نیازی به تغییر DNS و اجرای تحریم شکن روی سرور ندارد بلکه با نصب داکر از طریق snap در ubuntu به خوبی میتوانید هسته داکر را روی اوبونتو نصب و بدون مشکل آپدیت کنید.
همچنین برای نصب image ها از مدخل هایی که در ایران برای دور زدن تحریم های داکر ایجاد شده اند استفاده میکنید که استفاده از این مدخل ها هم هیچ نیازی به نصب تحریم شکن و تغییر DNS و پرداخت هزینه ای نیست.

مراحل اجرا
۱- نصب داکر
۲- نصب ایمیج هایی که در پروژه خود لازم دارید
مرحله اول توصیه میکنم از دستور ساده نصب داکر در بسته snap در ubuntu استفاده کنید و صرفا با یک خط کد زیر انجام میشود. و نیازی به هیچ ابزار خاص دیگری نیست…
پیشنهاد میشود این روش را در محیط توسعه اجرا کنید و در محیط اجرای یا عملیاتی روش دوم را استفاده کنید
sudo snap install docker
سپس برای اینکه بتوانید همه image های داکر را بدون تحریم دریافت کنید دستور زیر را اضافه کنید که از مخزن آروان استفاده کنید یعنی آروان میرود image مورد نظر شما را دریافت میکند و شما از آروان تحویل میگیرد نه از سایت تحریم شده
sudo bash -c 'cat > /var/snap/docker/current/config/daemon.json <<EOF
{
"insecure-registries" : ["https://docker.arvancloud.ir"],
"registry-mirrors": ["https://docker.arvancloud.ir"]
}
EOF'
سپس با چند دستور داکر را ریست کنید.
sudo snap restart docker
حال برای اینکه مطمن شوید کار به درستی انجام شده دستور زیر را برای نصب container hello world اجرا کنید
sudo docker run hello-world
همچنین شما میتوانید از مخزن docker.ir هم برای دانلود image های داکر نیز استفاده کنید . کافی است به جای دستور استفاده از مخزن آروان دستور زیر را وارد کنید
sudo bash -c 'cat > /var/snap/docker/current/config/daemon.json <<EOF
{
"registry-mirrors": ["https://registry.docker.ir"]
}
EOF'
سپس داکر را ریست کنید
sudo snap restart docker
روش دوم نصب داکر با استفاده از راهنمای سایت اصلی (نیاز به شکن و تحریم شکن صرفا در مرحله نصب خود نرم افزار داکر را دارد)
فعال سازی شکن ، در این مرحله شما وارد بخش مدیریت dns میشوید به پایین صفحه بروید و معمولا ۳ خط کد به صورت کامنت نشده است که آنها را کامنت کنید چرا که بعد از پایین مرحله دوم باید آنها را مجدد از کامنت خارج کنید که همیشه سرور شما با dns های شکن نباشد. (صرفا موقع به نصب و روزرسانی شکن فعال شود )
sudo nano /etc/resolv.conf
DNS های شکن را مطابق زیر در فایل فوق وارد کنید. و با CTRL+X و زدن Y تنظیمات را ذخیره میکنیم.
nameserver 178.22.122.100
nameserver 185.51.200.2
خوب الان میشه دستورات نصب داکر را اجرا کرد . با دستور زیر وارد root شوید
sudo -i
و مطابق راهنمای اصلی سایت داکر اقدام کنید
https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository
تا اینجا اگر خوب پیش رفته باشید با زدن دستور docker -v باید نسخه نصب شده را نمایش دهد . کار نصب انجام شد . حالا میتوانید dns های شکن را بردارید و شروع به فعال سازی docker.ir کنید که بتوانید image ها را با سرعت بالا دانلود کنید.
استفاده از مخزن آروان (پیشنهادی)
با توجه توضیحات درج شده درسایت آروان عینا مطابق روی قبلی است ولی آدرس سرور تغییر میکند
sudo bash -c 'cat > /etc/docker/daemon.json <<EOF
{
"insecure-registries" : ["https://docker.arvancloud.ir"],
"registry-mirrors": ["https://docker.arvancloud.ir"]
}
EOF'
استفاده از مخزن Docker.ir متعلق به پارس پک
فایل زیر را برای ویرایش باز کنید تا سرویس docker.ir را برای دانلود image ای داکر بودن تحریم دریافت کنید
اجرای دستور زیر و سپس وارد کردن رمز sudo سرور
sudo bash -c 'cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors": ["https://registry.docker.ir"]
}
EOF'
سپس docker با دستورهای زیر ریست کنید.
docker logout
sudo systemctl daemon-reload
sudo systemctl restart docker
برای اینکه مطمن شویم که نصب ایمیج ها به خوبی انجام میشه دستور زیر را وارد کنید
sudo docker run hello-world
اگر به خوبی نصب شود خروجی مشابهه زیر دارد . این یعنی شما به سادگی میتوانید همه ایمیج های داکر را بدون دردسر نصب کنید.

اگر خواستید دستورات داکر را بدون نیاز به sudo اجرا کنید با ورود دستورات زیر امکان پذیر است .
از root با دستور exit خارج میشویم.
توجه : حتما باید در کاربری که میخواهید دستورات بدون root اجرا شود لایگن باشید . مثلا ابتدا وارد کاربر ubuntu شوید و دستور زیر را وارد کنید . یعنی درون کاربر ubuntu میتوانید بدون ورود sudo docker ا اجرا کنید
sudo addgroup --system docker
sudo adduser $USER docker
newgrp docker
حالا میتوانید دستورات خود را بدون sudo ا جرا کنید
docker compose up -d
نصب نرم افزار اصلی داکر در مرحله دوم روی سرور ایرانی بدون استفاده از شکن
برای اینکه بتوانید نرم افزار داکر را مستقیما از سرور های تحریم شده در سرور ایرانی نصب کنید نیاز به یک سرور واسط در خارج دارید و به سادگی با mirror کردن سرور دانلود داکر آخرین نسخه داکر را از روی سرور خودتان نصب کنید.
عالی بود. ممنون از شما
یک سوال پیش میاد: آیا توسیه میکنید بعد از اینکه mirror رو برای داکر تنظیم کردیم، دی ان اس های شکن رو برداریم؟ اگر بله، چه آدرس دی ان اسی پیشنهاد میدهید؟
بله بردارید بهتر است چون شکن گاهی اوقات دچار اختلال است
سلام بعد از نصب ای پی های شکن را بردارید و همان ip های گوگل را قرار دهید
سلام و وقت بخیر
چطوری میتونم داکر ایمیج های خودم را روی این رجیستری بذارم و در سرور مقصد pull کنم؟
این رجیستری ؟ منظور همان رجیستری اصلی داکر است ؟ از این آموزش استفاده کنید
https://docs.github.com/en/actions/creating-actions/creating-a-docker-container-action
کمک کرد به ما =] خدا به شما کمک کنه
سلام وقت بخیر
من از شکن حرفه ای استفاده میکنم برای docker pull و docker login مشکلی ندارم ولی برای docker push ارور میده که وقتی با nslookup بررسی کردم متوجه شدم dns شکن جواب نمیده شما روش بهتری برای این مشکل دارین؟
دمت گرم
دی ان اس شکن جواب داد.
واقعا عالی خیلی وقت بود سر داکر اذیت بودم .
مقاله بسیار عالی و آموزنده بود
سلام بسیار عالی ممنون
مطلب خیلی مفیدی بود و به من کمک کرد
خیلی ممنون
با سلام و احترام،
خیلی خیلی ممنونم از مقاله ای که کذاشتید
انشالله همواره موفق باشید.
سلام
خیلی خیلی ممنونم از آموزشی که گذاشتید،
انشالله همواره موفق و سلامت باشید.