داکر رو می‌شناسی و می‌دونی چقدر کار رو راحت می‌کنه، اما از کجا شروع کنی؟ نگران نباش، قراره با هم قدم به قدم پیش بریم و اولین سرویس داکری خودت رو از یه Dockerfile مینیمال بسازیم و اجرا کنیم. آماده‌ای برای یه سفر هیجان‌انگیز به دنیای داکر؟ بزن بریم!

سلام رفیق داکری؛ بالاخره وقتشه!

یادت میاد چقدر از داکر شنیدی و چقدر همه ازش تعریف کردن؟ از اینکه چطور مشکلات «رو سیستم من کار می‌کنه» رو حل می‌کنه و چقدر استقرار نرم‌افزار رو ساده کرده؟ خب، امروز همون روزیه که قراره خودت دست به کار بشی و این افسانه‌ها رو به واقعیت تبدیل کنی. دیگه وقتشه که از شنیدن درباره داکر بگذری و شروع کنی به کد زدن!

اولین سرویس داکری را همین امروز بالا بیاورید: از Dockerfile تا Run!
اولین سرویس داکری را همین امروز بالا بیاورید: از Dockerfile تا Run!

می‌دونم شاید فکر کنی داکر یه غول پیچیده‌ست، اما اصلا اینطور نیست. قول می‌دم در پایان این مقاله، تو یه سرویس داکری سالم و سرحال رو روی سیستم خودت داری و راه رو برای پروژه‌های بزرگتر باز کردی. پس بزن بریم که قراره یه سفر هیجان‌انگیز داشته باشیم!

داکر چیه و چرا اصلا بهش نیاز داریم؟

قبل از اینکه بریم سراغ کد، بذار یه مرور خیلی سریع و خودمونی داشته باشیم که داکر اصلا چی هست. داکر یه پلتفرمه که بهت اجازه میده برنامه‌ها و تمام وابستگی‌هاشون رو توی یه محیط ایزوله به اسم «کانتینر» بسته‌بندی کنی. فکر کن یه چمدون جادویی داری که هرچیزی که برنامه‌ت لازم داره رو توش می‌ذاری و هرجا بری، برنامه‌ت بدون هیچ مشکلی کار می‌کنه.

این یعنی چی؟ یعنی دیگه خبری از مشکلات «روی سیستم من کار می‌کنه، ولی روی سرور نه» نیست. توسعه‌دهنده، تست‌کننده و سرور همه از یه محیط یکسان استفاده می‌کنن. این قابلیت، دنیای رو متحول کرده و باعث شده استقرار و نگهداری نرم‌افزار خیلی راحت‌تر بشه.

نکته طلایی: داکر مثل یه کامیون باربری می‌مونه که فقط بار رو جابجا می‌کنه و کاری به محتویات داخلش نداره. محتویات داخل کانتینر همون برنامه و وابستگی‌هاشه که داکر بدون دستکاری، اون رو از یک محیط به محیط دیگه منتقل می‌کنه.

پیش‌نیازها: قبل از هر چیز، داکر رو نصب کن!

خب، اولین قدم عملی اینه که داکر رو روی سیستم خودت نصب کنی. بدون داکر، قصه ما از اساس شروع نمیشه. داکر برای سیستم‌عامل‌های مختلف (ویندوز، مک، لینوکس) نسخه‌های خودش رو داره و فرآیند نصبش هم خیلی ساده‌ست.

اولین سرویس داکری را همین امروز بالا بیاورید: از Dockerfile تا Run!
اولین سرویس داکری را همین امروز بالا بیاورید: از Dockerfile تا Run!

برای نصب، کافیه بری به سایت رسمی داکر و نسخه مربوط به سیستم‌عاملت رو دانلود و نصب کنی. معمولاً با چندتا Next و Finish کار تمومه. اگه مشکلی داشتی، می‌تونی به مستندات رسمی داکر یه نگاهی بندازی.

  • مطمئن شو که سیستم‌عاملت (ویندوز، مک، لینوکس) به‌روزه.
  • نسخه مناسب داکر دسکتاپ رو از سایت Docker دانلود کن.
  • فرآیند نصب رو دنبال کن (معمولاً Next, Next, Finish).
  • بعد از نصب، داکر رو اجرا کن و مطمئن شو که آیکونش در نوار وظیفه یا تسک‌بارت ظاهر شده.
  • برای تست نصب، ترمینال رو باز کن و `docker --version` رو تایپ کن. باید ورژن داکر رو بهت نشون بده.

اولین Dockerfile مینیمال: قلب کانتینر تو

حالا که داکر نصب شده، بریم سراغ نقطه شروع هر کانتینر داکری: Dockerfile. این فایل مثل دستور پخت یه کیکه. به داکر میگه که چطور ایمیج برنامه‌ت رو بسازه. برای شروع، یه پوشه جدید به اسم `my-first-app` بساز و یه فایل توش به اسم `Dockerfile` (دقت کن، بدون پسوند و با D بزرگ) ایجاد کن. بعد این محتویات رو توش کپی کن:

```dockerfile FROM alpine:latest CMD echo "Hello from Docker! This is my first container!" ```

بذار این دو خط رو برات توضیح بدم: `FROM alpine:latest` یعنی ما می‌خوایم ایمیج خودمون رو بر پایه ایمیج `alpine` بسازیم. `alpine` یه توزیع لینوکس خیلی سبک و کوچیکه که برای داکر عالیه. `CMD echo "Hello from Docker! This is my first container!"` هم دستوریه که وقتی کانتینر اجرا میشه، انجام میشه. توی این مثال، فقط یه پیام رو چاپ می‌کنه.

نمایش Dockerfile مینیمال و دستورات داکر
نمایش Dockerfile مینیمال و دستورات داکر

ساخت ایمیج داکر: پختن کیک داکری تو!

حالا که دستور پخت رو داریم، وقتشه که کیکمون رو بپزیم! یعنی ایمیج داکر رو بسازیم. ترمینال رو باز کن، برو به پوشه `my-first-app` (همونجایی که Dockerfile رو ساختی) و این دستور رو اجرا کن:

```bash docker build -t my-first-app . ```

این دستور به داکر میگه که یه ایمیج بساز. `-t my-first-app` یعنی اسم ایمیج رو بذار `my-first-app` (می‌تونی هر اسمی بذاری). نقطه `.` آخر دستور هم یعنی Dockerfile رو توی همین دایرکتوری پیدا کن. بعد از چند لحظه (چون ایمیج alpine کوچیکه)، ایمیج شما آماده‌ست. می‌تونی با `docker images` لیست تمام ایمیج‌هات رو ببینی.

نکته طلایی: هر لایه از Dockerfile یک لایه در ایمیج نهایی ایجاد می‌کنه. این باعث میشه ایمیج‌ها خیلی بهینه و قابل استفاده مجدد باشن. اگه یه تغییر کوچیک بدی، فقط همون لایه دوباره ساخته میشه نه کل ایمیج.

اجرای سرویس داکری تو: وقتشه که سرویس بالا بیاد!

تبریک می‌گم! سخت‌ترین قسمت کار رو انجام دادی. حالا وقتشه که ایمیجی که ساختی رو اجرا کنی و ببینی چه اتفاقی میفته. توی همون ترمینال، این دستور رو بزن:

```bash docker run my-first-app ```

و بوم! باید پیامی که توی Dockerfile تعریف کرده بودی رو ببینی: `Hello from Docker! This is my first container!` این یعنی اولین کانتینر داکری تو با موفقیت اجرا شد. تو الان داری یه سرویس رو داخل یه کانتینر ایزوله اجرا می‌کنی. چه حسی داره؟ عالیه، نه؟

این فقط شروع کاره. داکر قابلیت‌های خیلی بیشتری داره. می‌تونی پورت‌ها رو مپ کنی، ولوم‌ها رو مانت کنی، چندین کانتینر رو با هم Orchestrate کنی و کلی کار باحال دیگه انجام بدی. برای یادگیری بیشتر و عمیق‌تر، حتماً به سری بزن.

چرا باید از داکر استفاده کنیم؟

داکر بهت کمک می‌کنه که برنامه‌هات رو با تمام وابستگی‌هاشون توی یه محیط ایزوله (کانتینر) بسته‌بندی کنی. این کار مشکلات سازگاری بین محیط‌های مختلف رو از بین می‌بره و استقرار و مقیاس‌پذیری رو آسون‌تر می‌کنه.

Dockerfile دقیقا چیه؟

Dockerfile یه فایل متنیه که شامل دستورالعمل‌هایی برای ساختن یک ایمیج داکر میشه. این دستورالعمل‌ها به داکر میگن که چطور محیط، وابستگی‌ها و کد برنامه شما رو داخل ایمیج قرار بده.

فرق ایمیج داکر و کانتینر داکر چیه؟

ایمیج داکر مثل یه قالب یا طرح اولیه (Blueprint) برای برنامه شماست که شامل کد، کتابخانه‌ها و تنظیمات هست. کانتینر داکر همون نمونه در حال اجرای اون ایمیجه. می‌تونی از یک ایمیج، چندین کانتینر همزمان اجرا کنی.

چطور داکر رو روی سیستمم نصب کنم؟

برای نصب داکر، باید به وب‌سایت رسمی Docker بری و Docker Desktop رو برای سیستم‌عامل خودت (ویندوز، مک، لینوکس) دانلود و نصب کنی. مراحل نصب ساده‌ست و معمولاً با چند کلیک تموم میشه.