بازگشت به صفحه میرورها

Docker

نصب Docker با مخزن داخلی پیشگام رایان

این راهنما نحوه نصب استاندارد و امن Docker Engine روی توزیع‌های مختلف Ubuntu را با استفاده از مخزن (Mirror) داخلی شرکت پیشگام رایان آموزش می‌دهد.

پیش‌نیازها:

  • سیستم‌عامل Ubuntu (18.04 / 20.04 / 22.04 / 24.04)
  • دسترسی: کاربر با سطح دسترسی sudo یا کاربر root
  • ابزارهای اولیه: نصب بودن بسته‌های curl و gnupg
  • شبکه: برقراری ارتباط با شبکه داخلی شرکت و دسترسی به آدرس میرور
Mirror Logo

متغیرهای محیطی (Configuration)

متغیر
مقدار پیش‌فرض
توصیف
REPO_BASE_URL
http://mirrors.pishgamrayan.com/repository/docker
آدرس مبدأ میرور داخلی Docker
KEYRING_DIR
/etc/apt/keyrings
دایرکتوری استاندارد ذخیره کلیدهای GPG
KEYRING_FILE
/etc/apt/keyrings/docker.gpg
مسیر نهایی فایل کلید امنیتی داکر
SOURCE_FILE
/etc/apt/sources.list.d/docker.list
مسیر فایل منبع مخزن برای مدیریت بسته APT

اسکریپت نصب یکپارچه (Automated Script) جهت نصب سریع، می‌توانید تمام خطوط زیر را کپی کرده و یک‌جا در ترمینال سرور خود اجرا کنید:

REPO_BASE_URL="http://mirrors.pishgamrayan.com/repository/docker" KEYRING_DIR="/etc/apt/keyrings" KEYRING_FILE="${KEYRING_DIR}/docker.gpg" SOURCE_FILE="/etc/apt/sources.list.d/docker.list" # بررسی وجود فایل os-release if [[ ! -r /etc/os-release ]]; then echo "ERROR: /etc/os-release not found. Cannot detect distribution." && exit 1 fi # تشخیص codename توزیع DISTRO_CODENAME=$(. /etc/os-release; echo "${VERSION_CODENAME}") echo "Detected distribution: ${DISTRO_CODENAME}" # ساخت دایرکتوری keyring echo "Creating keyring directory..." install -m 0755 -d "${KEYRING_DIR}" # دانلود و نصب کلید GPG داکر از Mirror echo "Downloading Docker GPG key from mirror..." if curl -fSL "${REPO_BASE_URL}/gpg" | gpg --dearmor -o "${KEYRING_FILE}"; then chmod a+r "${KEYRING_FILE}" echo "✓ Docker GPG key installed successfully" else echo "ERROR: Failed to download Docker GPG key from ${REPO_BASE_URL}/gpg" && exit 1 fi # اضافه کردن مخزن Docker به APT echo "Creating Docker repository source file..." cat > "${SOURCE_FILE}" <<EOF deb [arch=$(dpkg --print-architecture) signed-by=${KEYRING_FILE}] ${REPO_BASE_URL} ${DISTRO_CODENAME} stable EOF # نصب Docker echo "Updating APT and installing Docker..." apt-get update -y apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # بررسی نصب Docker Compose if docker compose version &>/dev/null; then echo "✓ Docker Compose plugin installed: $(docker compose version)" elif docker-compose --version &>/dev/null; then echo "✓ Docker Compose standalone installed: $(docker-compose --version)" else echo "⚠️ Docker Compose not available" fi docker --version echo "✓ Docker installation completed"

تشریح گام‌به‌گام مراحل

گام ۱: شناسایی نسخه سیستم‌عامل

DISTRO_CODENAME=$(. /etc/os-release; echo "${VERSION_CODENAME}")

سیستم با خواندن فایل /etc/os-release متغیر کدنیم توزیع فعلی (مانند jammy یا noble) را استخراج می‌کند تا بسته‌های کاملاً سازگار با هسته اوبونتو دانلود شوند.

گام ۲: دریافت امن کلید GPG

curl -fSL "${REPO_BASE_URL}/gpg" | sudo gpg --dearmor -o "${KEYRING_FILE}"

کلید رمزنگاری شده مخزن دانلود و از حالت متنی (ASCII Armor) به باینری تبدیل می‌شود. این کلید اصالت بسته‌های دریافتی را تضمین می‌کند.

گام ۳: ثبت مخزن اختصاصی در سیستم

خروجی دستور dpkg --print-architecture نوع معماری سیستم شما (مانند amd64 یا arm64) را مشخص کرده و خط ریپو را به صورت خودکار در مسیر سیستم ثبت می‌کند:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] http://mirrors.pishgamrayan.com/repository/docker jammy stable

گام ۴: نصب پکیج‌ها

پس از به‌روزرسانی لیست مخازن، ۵ بسته کلیدی زیر نصب می‌شوند:

  • docker-ce: موتور اصلی اجرای کانتینرها (Docker Engine)
  • docker-ce-cli: واسط خط فرمان برای تعامل با داکر
  • containerd.io: محیط زمان‌اجرای مدیریت کانتینر (Container Runtime)
  • docker-buildx-plugin: افزونه ساخت ایمیج‌های چند معماری
  • docker-compose-plugin: ابزار مدیریت ارکستراسیون چند کانتینری (با ساختار مدرن دستور docker compose)

💡 گام تکمیلی: تنظیم Mirror برای دانلود ایمیج‌ها (Docker Registry)

اگر شرکت پیشگام رایان علاوه‌بر مخزن بسته‌ها، مجهز به یک Docker Registry Mirror (جهت گذر از تحریم/فیلتر داکر هاب) است، فایل زیر را تنظیم کنید:

۱. فایل پیکربندی داکر را باز یا ایجاد کنید:

sudo nano /etc/docker/daemon.json

۲. آدرس رجیستری داخلی را در آن قرار دهید

(آدرس زیر را بر اساس مشخصات شبکه خود اصلاح کنید):

{ "registry-mirrors": ["http://registry-mirror.pishgamrayan.com"] }

۳. سرویس داکر را ری‌استارت کنید:

sudo systemctl restart docker

عیب‌یابی (Troubleshooting)

خطای مشاهده شده
علت احتمالی
راهکار رفع مشکل
Failed to download GPG key
عدم دسترسی به شبکه داخلی یا مسدود بودن پورت
ارتباط را با دستور curl -I http://mirrors.pishgamrayan.com بررسی کنید.
404 Not Found هنگام اجرای apt update
عدم پشتیبانی از نسخه اوبونتو شما در میرور یا آدرس‌دهی غلط
مقدار متغیر REPO_BASE_URL و صحت کدنیم خروجی را بررسی کنید.
GPG error: ... SIGNEDBY_INVALID
انقضا یا آسیب دیدن کلید امنیتی دانلود شده
فایل کلید قبلی را پاک کرده و گام ۵ اسکریپت را مجدداً اجرا کنید.

بازگشت به تنظیمات کارخانه (Rollback) در صورت نیاز به حذف کانفیگ میرور پیشگام رایان و پاکسازی فایل‌ها، دستورات زیر را اجرا کنید:

sudo rm -f /etc/apt/sources.list.d/docker.list sudo rm -f /etc/apt/keyrings/docker.gpg sudo apt-get update

شناسنامه مخازن پیشگام رایان

  • آدرس مخزن اختصاصی داکر: http://mirrors.pishgamrayan.com/repository/docker
  • آدرس مخزن سیستم‌عامل اوبونتو: http://mirrors.pishgamrayan.com/repository/ubuntu
  • بستر نرم‌افزاری میرور: Sonatype Nexus Repository Manager

قلمرو دسترسی: شبکه داخلی و اختصاصی شرکت پیشگام رایان