برنامه نویسی

Docker چیست؟ یک شکست دوستانه مبتدی

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

Docker چیست؟

Docker یک سکوی منبع باز است که ساخت ، حمل و نقل و اجرای برنامه ها را با استفاده از ظروف آسان تر می کند.

یک کانتینر یک بسته سبک و قابل حمل است که شامل همه چیزهایی است که برنامه شما برای اجرای آن نیاز دارد: کد منبع ، کتابخانه ها ، وابستگی ها و متغیرهای محیط – همه با هم همراه هستند.

به آن فکر کنید مانند “پرونده فوق العاده زیپ” که کد شما را به همان روش در هر دستگاه اجرا می کند.

🤔 چرا داکر مورد نیاز بود؟

قبل از داکر ، توسعه دهندگان با کلاسیک روبرو شدند:

“روی دستگاه من کار می کند”

برنامه ها هنگام حرکت بین محیط های Dev ، Test و Prod به دلیل تفاوت های سیستم عامل ، کتابخانه های مفقود شده یا وابستگی های متناقض شکسته می شوند.

توسعه دهندگان یا:

با ماشین های مجازی سنگین وزن ، یا

برای بازآفرینی محیط ، اسکریپت های تنظیم شده پیچیده ای را نوشت.

داکر برای ساده سازی و استاندارد سازی نحوه ساخت و استقرار برنامه ها – از لپ تاپ گرفته تا سرورهای ابری وارد شد.

🛠 Docker چه مشکلی را حل می کند؟

Docker چندین چالش در دنیای واقعی را برای تیم های توسعه دهندگان و OPS حل می کند:

comment سازگاری محیط – دیگر “روی دستگاه من کار می کند”

چرخه های توسعه سریعتر – ظروف در میلی ثانیه شروع می شوند

✅ آزمایش و استقرار آسان – تولید محلی را تکرار کنید

✅ سبک و کارآمد – از حافظه کمتری نسبت به VM استفاده می کند

✅ قابلیت حمل – ظروف را اجرا کنید در هر کجا Docker نصب شده است

da daemon docker چیست؟

Docker Daemon (Dockerd) موتور است که Docker را قدرت می دهد.

در پس زمینه اجرا می شود و:

برای دستورات Docker CLI/API گوش می دهد

تصاویر را می سازد

ظروف را شروع/متوقف می کند

شبکه ها و جلد ها را مدیریت می کند

CLI (Docker) از طریق API REST با Daemon صحبت می کند.

💡 می توانید از Daemon به عنوان مغز و CLI به عنوان دستان خود فکر کنید.

dockerfile چیست؟

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

تعریف می کند:

تصویر پایه

چه پرونده هایی برای کپی کردن

وابستگی برای نصب

دستورات اجرا

مثال dockerfile برای یک برنامه node.js:

داک

FROM node:18
WORKDIR /app
COPY . .
RUN npm install
CMD ["npm", "start"]
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این یک ظرفی را ایجاد می کند که وابستگی ها را نصب می کند و برنامه شما را با شروع NPM شروع می کند.

🖼 تصویر Docker چیست؟
تصویر Docker عکس فوری از محیط کاربردی شما است.

این است:

ساخته شده از یک dockerfile

تغییر ناپذیر (فقط خواندنی)

قابل حمل

پس از داشتن تصویر ، می توانید آن را به عنوان یک ظرف اجرا کنید:

docker run my-app-image
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

تصاویر را می توان به ثبت نام ها (مانند Docker Hub) سوق داد و توسط هر کس ، در هر کجا کشیده شد.

👤 برای اجرای Docker به عنوان کاربر “Ubuntu” چه مجوزهایی لازم است؟

به طور پیش فرض ، اجرای دستورات Docker به SUDO نیاز دارد:

sudo docker ps
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

برای اجرای Docker به عنوان یک کاربر غیر ریشه (به عنوان مثال ، اوبونتو) ، کاربر را به گروه Docker اضافه کنید:

sudo usermod -aG docker ubuntu
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

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

⚠ هشدار: گروه Docker دسترسی معادل ریشه دارد. با احتیاط استفاده کنید.

🚀 بسته شدن

داکر به ابزاری ضروری برای توسعه دهندگان مدرن تبدیل شده است. این که آیا شما در حال ایجاد خدمات میکروسرویس هستید ، به ابر اعزام می شوید ، یا فقط سعی در از بین بردن اشکالات “این کار بر روی دستگاه من است” – Docker باعث می شود گردش کار شما قابل پیش بینی ، قابل حمل و قدرتمندتر باشد.

سؤالاتی دارید یا می خواهید عمیق تر به آهنگسازی ، شبکه سازی یا حجم Docker شیرجه بزنید؟ در نظرات به من اطلاع دهید! 👇

مرا دنبال کنید تا از DevOps عملی تر و محتوای Dev Backend استفاده کنید! 🙌

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا