Docker Container

داکر (Docker) استانداردی پیشرو برای بسته‌بندی، جابه‌جایی و اجرای اپلیکیشن‌ها در محیط‌های ایزوله است. PaaS پارس‌پک با بهره‌گیری از زیرساخت قدرتمند کوبرنیتیز (Kubernetes)، به شما اجازه می‌دهد کانتینرهای خود را با کنترل حداکثری بر شبکه و فرایند سلامت‌سنجی مستقر کنید. شما می‌توانید کدهای خود را به همراه Dockerfile ارسال کنید تا در سرورهای پارس‌پک بیلد شوند، و یا مستقر کردن مستقیم یک Docker Image آماده را انتخاب نمایید.

قوانین اجباری (Validation Rules)

  • وجود Dockerfile: در صورت استقرار از طریق سورس‌کد، فایل Dockerfile (بدون پسوند) باید حتما در مسیر روت پروژه قرار داشته باشد.

  • احراز هویت: در صورت استفاده از رجیستری‌های خصوصی، ورود دقیق اطلاعات Authentication الزامی است.

  • ثبت متغیرها: پس از وارد کردن هر متغیر محیطی یا بیلد، حتما روی دکمه «+ افزودن متغیر» کلیک کنید تا نام آن در جدول پایین لیست شود؛ در غیر این صورت متغیر اعمال نخواهد شد.

تنظیمات اولیه

در ابتدای مسیر، باید شناسنامه‌ی اپلیکیشن و نحوه‌ی تعامل آن با دنیای بیرون را مشخص کنید. نام پروژه برای گروه‌بندی سرویس‌ها و نام اپلیکیشن برای تعیین آدرس ساب‌دامین شما استفاده می‌شود.

پس از تعیین نام، نوبت به تنظیمات حساس شبکه می‌رسد. در اینجا باید تصمیم بگیرید که آیا اپلیکیشن شما یک وب‌سایت عمومی است یا یک سرویس داخلی (مثل دیتابیس):

  • سوئیچ Node Port: با فعال کردن این گزینه، اپلیکیشن شما روی یک پورت اختصاصی در دسترس قرار می‌گیرد. این حالت معمولا برای برنامه‌هایی استفاده می‌شود که نیاز به دسترسی مستقیم دارند.

  • سوئیچ دسترسی عمومی: این گزینه تعیین می‌کند که آیا اپلیکیشن شما از طریق اینترنت قابل مشاهده باشد یا خیر. در صورت غیرفعال بودن این سوئیچ، کانتینر شما ایزوله شده و تنها برای سایر سرویس‌هایی که در «همان پروژه» ساخته شده‌اند، قابل دسترسی و فراخوانی خواهد بود. (مناسب برای میکروسرویس‌های داخلی و دیتابیس‌ها).

نکته مهم:

اگر هر دو گزینه «دسترسی عمومی» و «Node Port» هم‌زمان فعال باشند، اپلیکیشن شما روی پورت‌های تصادفی در محدوده ۳۰۰۰۰ (استاندارد کوبرنیتیز) در دسترس قرار می‌گیرد. اما در صورتی که فقط «دسترسی عمومی» فعال باشد، برنامه از طریق پورت‌های استاندارد شبکه و طبق تنظیمات پیش‌فرض پلتفرم منتشر می‌شود.

پارامترهای داکر (Probes)

این بخش برای مدیریت چرخه حیات کانتینر و اطمینان از صحت عملکرد آن است. پارس‌پک از دو روش تست سلامت (Port Checking و Command Checking) برای سه وضعیت زیر پشتیبانی می‌کند. برای هر پروب می‌توانید initial delay (تأخیر اولیه) و timeout (زمان انتظار برای پاسخ) را تنظیم کنید:

  • Liveness Probe: زنده بودن کانتینر را چک می‌کند. اگر برنامه فریز شود، سیستم کانتینر را ری‌استارت می‌کند. (پیش‌فرض تأخیر اولیه: ۳۰ ثانیه | تایم‌اوت: ۱ ثانیه)

  • Readiness Probe: بررسی می‌کند که آیا کانتینر آماده پاسخگویی به درخواست‌ها هست یا خیر. تا زمانی که این تست پاس نشود، ترافیک به سمت اپلیکیشن هدایت نمی‌شود. (پیش‌فرض تأخیر اولیه: ۵ ثانیه | تایم‌اوت: ۱ ثانیه)

  • Startup Probe: این تست بررسی می‌کند که آیا برنامه با موفقیت استارت شده است یا خیر. تا زمان پایان این تست، دو پروب قبلی متوقف می‌مانند. (پیش‌فرض تأخیر اولیه: ۳۰ ثانیه | تایم‌اوت: ۵ ثانیه)

متغیرهای محیطی

این متغیرها در زمان اجرای کانتینر (Runtime) در دسترس هستند. در پنل پارس‌پک می‌توانید به دو روش زیر عمل کنید:

  • آپلود فایل .env: سریع‌ترین روش برای انتقال یک‌جای تنظیمات. کافی است فایل env پروژه خود را بارگذاری کنید تا مقادیر به صورت خودکار شناسایی شوند.

  • وارد کردن دستی: در این حالت، متناسب با سطح حساسیت داده، سه نوع متغیر قابل تعریف است:

    • ENV: برای متغیرهای استاندارد و عمومی برنامه.

    • Config Map و Secret: اگر اطلاعات حساسی (مانند رمز عبور دیتابیس یا کلیدهای API) دارید که قبلا در بخش Config/Secret پنل ساخته‌اید، اینجا آن‌ها را فراخوانی کنید.

نکته مهم: پس از وارد کردن کلید (Key) و مقدار (Value)، حتما روی دکمه «+ افزودن متغیر» کلیک کنید. متغیر تنها زمانی اعمال می‌شود که نام آن را در جدول پایین صفحه مشاهده کنید.

متغیرهای Build (Build Args)

این بخش صرفا زمانی کاربرد دارد که شما از Dockerfile برای استقرار استفاده می‌کنید. متغیرهایی که در اینجا تعریف می‌کنید، در لحظه‌ی ساخته شدن (Build) ایمیج داکر به کانتینر تزریق می‌شوند.

اتصال به منبع کد

در این مرحله منبع کدهای خود را مشخص کنید:

اتصال از طریق Public Repository

برای اتصال مستقیم به ریپازیتوری‌های عمومی (مانند GitHub):

  • URL: آدرس ریپازیتوری را انتخاب و وارد کنید.

  • Branch Name: نام شاخه (Branch) مورد نظر را وارد کنید.

توجه: دقت کنید که Branch تعریف شده باید دقیقا با ریپازیتوری موجود منطبق باشد.

اتصال از طریق Private Repository

برای اتصال به ریپازیتوری‌های خصوصی:

  • Account Type: نوع حساب (مثلا Github) را انتخاب کنید.

  • Repository: آدرس کامل ریپازیتوری را وارد کنید.

  • Branch Name: نام شاخه مورد نظر را وارد کنید. (دقت کنید این نام با Branch موجود در ریپازیتوری یکسان باشد).

اتصال از طریق Registry

برای فراخوانی ایمیج‌های بیلد شده:

  • Public/Private Toggle: مشخص کنید ایمیج در رجیستری عمومی قرار دارد یا خصوصی.

  • Registry URL: آدرس رجیستری را انتخاب کنید.

  • Repository Name: نام حساب کاربری یا مسیر فرعی (در صورت خالی بودن، ایمیج‌های رسمی داکر فراخوانی می‌شوند).

  • Image Name: نام اصلی ایمیج.

  • Image Tag: تگ مورد نظر (مقدار پیش‌فرض: latest).

نحوه‌ی آدرس‌دهی ایمیج: برای فراخوانی صحیح، فیلدها را بر اساس الگوی زیر تکمیل کنید: https://registry.example.com/<Repository Name>/<Image Name>:<Image Tag>

اتصال از طریق آپلود فایل

  • فایل پروژه خود را با فرمت .zip در کادر مربوطه درگ کنید تا مستقیما در پلتفرم بارگذاری شود.

    تخصیص منابع

    در مرحله نهایی، سقف منابع پردازشی (CPU و RAM) را متناسب با نیاز اپلیکیشن خود تعیین کرده و روی دکمه «ساخت اپلیکیشن» کلیک کنید. فرایند استقرار آغاز شده و وضعیت لحظه‌ای آن از طریق بخش اعلانات و لاگ‌ها قابل رصد خواهد بود.