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

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

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

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

فهرست مطالب

نصب Docker در سرورهای داخل ایرانراهنمای فنی و دقیق

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


پیشنیازها

برای نصب و اجرای Docker روی سرور، به موارد زیر نیاز دارید:

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

اگر هنوز سرور تهیه نکردهاید و بهدنبال یک سرور ابری سریع، بروز و مخصوص توسعهدهندگان هستید، پیشنهاد میکنیم از سرورهای ابری خاتش استفاده کنیدزیرساختی بهینه برای اجرای Docker و پروژههای مدرن با پینگ پایین و ترافیک نیمبها.


گام ۱تنظیم 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 استفاده میکنند، پس از ریبوت ممکن است فایل بازنویسی شود. برای دائمیکردن تنظیمات:

code
sudo chattr +i /etc/resolv.conf

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

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

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 ایمیجها افزایش یابد. برای این منظور، فایل پیکربندی زیر را باز کنید:

code
sudo nano /etc/docker/daemon.json

سپس یکی از گزینههای زیر را وارد کنید:


IranServer

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

میرور IranServer از پایداری بالایی برخوردار است و برای کاربران دیتاسنتر آسیاتک و شاتل مناسب است.


HaioCloud

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

گزینهای سریع و کمتاخیر، مخصوص سرورهایی که در دیتاسنترهای داخلی نزدیک به HaioCloud میزبانی میشوند.


ParsPack

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

میرور قدیمی و قابلاعتماد پارسپک برای کاربران سرورهای داخلی.


ArvanCloud

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

میرور رسمی آروانکلاد با شبکه CDN داخلی و سرعت پاسخگویی بالا.


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

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

اگر در زیرساخت خود ریجستری خصوصی دارید (مثلاً روی سرورهای ابر خاتش) میتوانید از این پیکربندی برای Mirror لوکال استفاده کنید.


اگر سرور شما روی زیرساخت داخلی مانند ابر خاتش (Khatash Cloud) اجرا میشود، معمولاً latency بسیار پایینتری به میرورهای داخلی دارد و نیازی به تنظیمات اضافی نخواهید داشت.


گام ۵فعالسازی و راهاندازی سرویس Docker

پس از اعمال تغییرات:

code
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl enable docker

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

کاربر فعلی را به گروه docker اضافه کنید و خروج/ورود مجدد انجام دهید:

code
sudo usermod -aG docker $USER

سپس یک کانتینر تستی اجرا کنید:

code
docker run --rm hello-world

در صورت موفقیت، پیغام Hello from Docker! نمایش داده میشود.


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

مشکلراهکار سریع
بازنشانی DNS پس از ریبوتاستفاده از chattr +i /etc/resolv.conf یا تنظیم در /etc/systemd/resolved.conf
خطای Permission هنگام اجرای Docker بدون sudoافزودن کاربر به گروه docker
سرعت پایین Pull حتی با میرورتغییر میرور یا بررسی latency با ping
غیرفعالسازی IPv6افزودن "ipv6": false در daemon.json

جمعبندی

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

اگر به دنبال زیرساختی هستید که همهٔ این تنظیمات از پیش بهینهسازی شده و آمادهٔ اجرای Docker باشند، پیشنهاد میکنیم نگاهی به سرورهای ابری خاتش بیندازیدسرورهایی که مخصوص توسعهدهندگان ایرانی طراحی شدهاند تا بدون درگیری با تنظیمات پیچیده، محیط Docker را بلافاصله راهاندازی کنند.

دسته‌بندی‌ها:

داکر

بیشتر مطالعه کنید

راهنمای کامل فرایند OCEAN در پرامپتنویسی برای دریافت بهترین خروجی از مدلهای زبانی

این مطلب یک راهنمای جامع برای استفاده از فرایند OCEAN در پرامپتنویسی است؛ روشی پنجمرحلهای شامل هدفگذاری، ارائه زمینه، استفاده از مثال، ارزیابی خروجی و مذاکره برای بهبود نتیجه. این فرآیند کمک میکند از مدلهای زبانی مانند ChatGPT بهترین خروجی را دریافت کنید. در پایان نیز دو ابزار ایرانیپلتفرم چت «اکوان» و گیتوی API خاتشبهعنوان گزینههای مناسب برای اجرای این روش معرفی شدهاند.

۲۳ آبان ۱۴۰۴
3 دقیقه

Grok 4 Fast با کانتکست ۲ میلیونی؛ بررسی واقعی و روش استفاده از طریق خاتش

مدل Grok 4 Fast از xAI با پنجرهی کانتکست ۲ میلیون توکنی معرفی شده است. در این مقاله بررسی میکنیم آیا این پیشرفت واقعاً کاربردی است یا صرفاً عددی تبلیغاتی، و در ادامه روش استفاده از این مدل از طریق API خاتش با پرداخت ریالی و پلتفرم Akvan.chat را توضیح میدهیم.

۲۰ آبان ۱۴۰۴
2 دقیقه

تفاوت زیرساخت هایبرید و سرور ابریکدام گزینه برای کسبوکار شما بهتر است؟

در این مقاله از بلاگ خاتش، تفاوت میان زیرساخت ابری (Cloud Infrastructure) و زیرساخت هایبرید (Hybrid Infrastructure) را بهصورت شفاف و کاربردی بررسی میکنیم. میخوانید که هر مدل دقیقاً چیست، در چه شرایطی مناسبتر است، و چرا بسیاری از سازمانها ترکیبی از هر دو را انتخاب میکنند.

۱۹ آبان ۱۴۰۴
4 دقیقه

اکوان؛ هوش مصنوعی گفتگو محور بدون مرز

اکوان پلتفرمی ایرانی برای گفتوگو با مدلهای مختلف هوش مصنوعی مانند GPT-5، Claude و Gemini است. بدون تحریم، با رابط فارسی، قیمت عالی و سرعت بالاگفتوگو با هوش مصنوعی، به زبان خودت.

۱۸ آبان ۱۴۰۴
2 دقیقه