آموزش کامل نصب داکر روی سرورهای ایران (به‌روز ۲۰۲۵)

آموزش کامل نصب داکر روی سرورهای ایران (بهروز ۲۰۲۵)

هدف این راهنما: قدمبهقدم مشکلات رایج هنگام نصب و استفاده از Docker روی سرورهای داخل ایران را برطرف میکنیم؛ از تنظیم DNS تا افزودن میرورهای بومی و در نهایت اجرای یک کانتینر تستی. همه دستورات در قالب بلاککد قرار گرفتهاند تا بهراحتی در ترمینال کپی‌/پیست شوند.

۱۴۰۴/۵/۵:تاریخ انتشار
3 دقیقه:زمان مطالعه
داکر

نصب داکر در سرورهای مستقر در ایرانراهنمای جامع

هدف این راهنما: قدمبهقدم مشکلات رایج هنگام نصب و استفاده از Docker روی سرورهای داخل ایران را برطرف میکنیم؛ از تنظیم DNS تا افزودن میرورهای بومی و در نهایت اجرای یک کانتینر تستی. همه دستورات در قالب بلاککد قرار گرفتهاند تا بهراحتی در ترمینال کپی/پیست شوند.


فهرست مطالب

  1. پیشنیازها
  2. گام ۱ – تنظیم DNS سرور شکن
  3. گام ۲ – بهروزرسانی سیستم و نصب ابزارهای پایه
  4. گام ۳ – نصب Docker
  5. گام ۴ – پیکربندی Registry Mirror بومی
  6. گام ۵ – ریستارت و فعالسازی سرویس Docker
  7. گام ۶ – تست نهایی نصب
  8. نکات تکمیلی و عیبیابی
  9. جمعبندی

پیشنیازها

  • سروری با یکی از توزیعهای Debian یا Ubuntu (ترجیحاً Ubuntu 20.04+ یا Debian 11+)
  • دسترسی کاربر root یا کاربری که در گروه sudo باشد
  • باز بودن پورتهای خروجی 443 و 80 روی فایروال برای دانلود بستهها و ایمیجها

گام ۱ – تنظیم DNS سرور شکن

Docker برای کشیدن ایمیجها به DNS سالم نیاز دارد. سرویس شکن دو DNS عمومی ارائه میکند که محدودیتهای تحریم را دور میزند:

code
sudo bash -c 'echo -e "nameserver 178.22.122.100\nnameserver 185.51.200.2" > /etc/resolv.conf'

نکته: اگر سیستم شما از systemd-resolved استفاده میکند ممکن است پس از ریبوت، فایل /etc/resolv.conf بازنویسی شود. برای دائمیکردن:

code
sudo chattr +i /etc/resolv.conf  # فایل را immutable می‌کند

گام ۲ – بهروزرسانی سیستم و نصب ابزارهای پایه

ابتدا مخزنها را تازه کرده و سیستم را بهروز میکنیم؛ سپس ابزارهای پایه را نصب میکنیم:

code
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y curl socat git
  • curl برای دانلود اسکریپت نصب Docker
  • socat و git برای برخی پروژههای داکری (اختیاری ولی کاربردی)

گام ۳ – نصب Docker

سادهترین راه، استفاده از اسکریپت رسمی Docker است:

code
curl -fsSL https://get.docker.com | sh

پس از اتمام نصب، نسخه را بررسی کنید:

code
docker --version
# خروجی نمونه:
# Docker version 25.0.4, build deadbeef

گام ۴ – پیکربندی Registry Mirror بومی

به دلیل کندی یا محدودیت ارتباط با hub.docker.com، استفاده از میرورهای ایرانی سرعت کشیدن (pull) ایمیجها را افزایش میدهد. فقط یکی از تنظیمات زیر را در فایل daemon.json قرار دهید:

code
sudo nano /etc/docker/daemon.json

IranServer

code
{
  "registry-mirrors": ["https://docker.iranserver.com"]
}

HaioCloud

code
{
  "registry-mirrors": ["https://docker.haiocloud.com"]
}

ParsPack

code
{
  "registry-mirrors": ["https://registry.docker.ir"]
}

AbrArvan

code
{
  "registry-mirrors": ["https://docker.arvancloud.ir"]
}

Dockeriran (ریجستری لوکال روی پورت ۵۰۰۰)

code
{
  "registry-mirrors": ["https://docker.host:5000"]
}

راهنمای انتخاب: اگر سرور شما در همان دیتاسنتر میرور است، همان را برگزینید تا کمترین latency را داشته باشید. همچنین میتوانید چند میرور را در آرایه قرار دهید؛ ترتیب آنها بهترتیب اولویت است.


گام ۵ – ریستارت و فعالسازی سرویس Docker

پس از تغییر daemon.json سرویس Docker را دوباره بارگذاری کنید:

code
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl enable docker  # برای اجرا پس از بوت

گام ۶ – تست نهایی نصب

  1. کاربر فعلی را به گروه docker اضافه کنید و یک بار logout/login انجام دهید:
code
sudo usermod -aG docker $USER
  1. اجرای کانتینر تستی:
code
docker run --rm hello-world

خروجی موفق شامل پیام Hello from Docker! است.


نکات تکمیلی و عیبیابی

مشکلراهکار سریع
پس از ریبوت DNS بازنشانی میشودchattr +i /etc/resolv.conf یا پیکربندی در /etc/systemd/resolved.conf
خطای «permission denied» هنگام اجرای Docker بدون sudosudo usermod -aG docker $USER سپس خروج و ورود مجدد
سرعت پایین Pull حتی با میرورمیرور را عوض کنید یا با ping/curl -I تاخیر را چک کنید
عدم نیاز به IPv6در daemon.json گزینه "ipv6": false را اضافه کنید

جمعبندی

با تنظیم DNS شکن، نصب Docker از مخزن رسمی و افزودن یک Registry Mirror بومی، تمام محدودیتهای رایج در سرورهای ایران رفع میشود. حالا میتوانید بدون دردسر ایمیجهای دلخواه را کشیده و کانتینرهای خود را اجرا کنید.

موفق باشید و کانتینرهایتان همیشه آنلاین! 🚀

آموزش کامل نصب داکر روی سرورهای ایران (به‌روز ۲۰۲۵)