خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

Docker را یاد بگیرید: 8 موضوع ضروری برای مبتدیان

اصول اولیه استاد داکر با این مفاهیم مهم به زبان ساده توضیح داده شده است.

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

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

داکر چیست؟

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

هنگامی که از داکر استفاده می کنید، با موتور داکر تعامل دارید. می‌توانید Docker Engine را روی هر سیستم‌عاملی، از جمله ویندوز 10 و 11، macOS یا سیستم‌های اوبونتو/لینوکس نصب کنید. ابزارها و مفاهیم زیادی وجود دارد که برای استفاده موثر از Docker باید یاد بگیرید. در اینجا ضروری ترین موارد برای شروع شما وجود دارد.

1. تصویر داکر

صفحه رسمی تصاویر داکر در داکر هاب

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

در فایل، همه چیزهایی که برنامه شما نیاز دارد را مشخص می کنید. سپس Docker تصویر را بر اساس دستورالعمل های ارائه شده به صورت خودکار می سازد. می‌توانید تصاویر مختلفی را در رجیستری آنلاین Docker، Docker Hub پیدا کنید. داکر استفاده از تصاویر رسمی را برای اهداف امنیتی توصیه می کند.

شما همچنین می توانید تصاویر را بر اساس تنظیمات سفارشی بسازید. تصاویر در اندازه ها، سیستم عامل ها و زبان های مختلف ارائه می شوند. شما می توانید یکی را انتخاب کنید که مناسب ترین برنامه شما باشد. برای مثال، می‌توانید یاد بگیرید که چگونه یک تصویر Docker از یک API وب دات نت بسازید.

مطلب مرتبط:   نحوه ایجاد یک اسکنر سند با استفاده از پایتون

2. کانتینر داکر

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

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

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

docker container ls

جزئیات همه کانتینرهای در حال اجرا را خواهید دید:

جزئیات کانتینرهای در حال اجرا در Docker CLI

همچنین می توانید از docker ps برای مشاهده همه کانتینرهای در حال اجرا استفاده کنید. و docker container [شناسه کانتینر] را بازرسی کنید تا محتویات یک کانتینر را مشاهده کنید.

4. Dockerfile

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

این فایل همچنین شامل متغیرهای محیطی و دستورات ایجاد تصویر است. شما می توانید یک Dockerfile مانند هر فایل دیگری ایجاد کنید. شما باید دستورالعمل های روی فایل را با استفاده از نحوی که Docker درک می کند مشخص کنید. در زیر نمونه ای از Dockerfile نمونه است:

یک Dockerfile با دستورالعمل

5. Docker Compose

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

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

مطلب مرتبط:   چگونه ظروف Docker خود را به راحتی با lazydocker مدیریت کنید

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

با Docker Compose می‌توانید شبکه‌ها را پیکربندی کنید، حجم‌ها را مدیریت کنید و وابستگی‌ها را مشخص کنید. همچنین می‌توانید با مشخص کردن خدمات مشابه، برنامه‌ها را به صورت افقی در تولید مقیاس‌بندی کنید.

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

در اینجا نمونه ای از فایل YAML Docker Compose آورده شده است:

Docker فایل YAML-2 را ایجاد می کند

6. داکر هاب

صفحه ثبت نام Docker Hub

Docker Hub یک رجیستری کانتینر آنلاین برای Docker است. به عنوان بزرگترین رجیستری کانتینر، یک ابزار همکاری برای توسعه دهندگان و مشارکت کنندگان منبع باز است. همچنین یک بازار عالی برای فروشندگان نرم افزار است.

Docker Hub یک منبع قابل اعتماد برای یافتن نرم افزار مجازی سازی قابل اعتماد است. شما می توانید یک مخزن ایجاد کنید و بیش از 100000 تصویر را به اشتراک بگذارید.

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

7. شبکه داکر

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

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

مطلب مرتبط:   JWT ها چیست و چگونه کار می کنند؟

شبکه سازی به کانتینرها اجازه می دهد تا در محیط های شبکه ایزوله کار کنند. شبکه ها فضاهای نام و آدرس های IP را ارائه می دهند که تضاد کانتینر را کاهش می دهد و امنیت را افزایش می دهد.

8. جلدهای داکر

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

حجم ها همچنین کاربردهای دیگری دارند، از جمله امکان اشتراک گذاری داده ها بین کانتینرها. تهیه نسخه پشتیبان و انتقال آنها در مقایسه با سایر اشکال ذخیره سازی آسان است. علاوه بر این، می توانید حجم ها را با استفاده از Docker CLI یا API مدیریت کنید.

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

docker volume create my-vol

برای مشاهده حجمی که ایجاد کردید، دستور زیر را اجرا کنید:

docker volume ls //local my-vol

سپس می توانید حجم ها را به هر ظرفی که می خواهید وصل کنید. می‌توانید درباره حجم‌ها در اسناد رسمی Docker اطلاعات بیشتری کسب کنید.

سایر ویژگی های Docker

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

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