SlideShare a Scribd company logo
1 of 11
:‫موضوع‬‫چیست‬ ‫داکر‬
‫یعقوبی‬ ‫آقای‬ ‫جناب‬ :‫راهنما‬ ‫استاد‬
‫گشایش‬ ‫علیرضا‬ :‫محقق‬
2
‫صدرا‬ ‫دانشگاه‬
‫بهار‬۹۹۱۱
3
‫داکر‬‫اپلیکیشن‬ ‫ساخت‬ ‫برای‬ ‫افزاری‬ ‫نرم‬ ‫پلتفرم‬ ‫یک‬‫های‬
‫بر‬ ‫مبتنی‬Container‫محیط‬ .‫است‬‫و‬ ‫کوچک‬ ‫اجرایی‬ ‫های‬
‫عامل‬ ‫سیستم‬ ‫هسته‬ ‫از‬ ‫مشترک‬ ‫طور‬ ‫به‬ ‫که‬ ‫سبک‬‫استفاده‬
‫می‬‫کامال‬ ‫و‬ ‫ایزوله‬ ‫محیط‬ ‫یک‬ ‫در‬ ‫حال‬ ‫عین‬ ‫در‬ ‫اما‬ ‫کنند‬
‫مفهوم‬ ‫چند‬ ‫هر‬ .‫دارند‬ ‫قرار‬ ‫هم‬ ‫از‬ ‫جدا‬container
‫مدت‬ ‫از‬ ‫نگهدارنده‬ ‫یا‬‫حوزه‬ ‫در‬ ‫قبل‬ ‫ها‬IT‫بود‬ ‫مطرح‬
‫سال‬ ‫در‬ ‫باز‬ ‫متن‬ ‫پروژه‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫داکر‬ ‫اما‬۳۱۹۹
‫شد‬ ‫باعث‬ ‫داکر‬ ‫واقع‬ ‫در‬ .‫شد‬ ‫عرضه‬ ‫و‬ ‫معرفی‬
container‫ای‬ ‫تازه‬ ‫جان‬‫محبوب‬ ‫دوباره‬ ‫و‬ ‫بگیرد‬
‫از‬ ‫استفاده‬ ‫سمت‬ ‫به‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ .‫شود‬
Container‫سرویس‬ ‫میکرو‬ ‫و‬‫عنوان‬ ‫به‬ ‫بعدها‬ ‫و‬ ‫رفت‬ ‫ها‬
‫یا‬ ‫ابری‬ ‫توسعه‬evelopmentDnative-loudC‫شناخته‬
‫را‬ ‫شد‬ ‫گفته‬ ‫اینجا‬ ‫تا‬ ‫که‬ ‫مفاهیم‬ ‫از‬ ‫بعضی‬ ‫شاید‬ .‫شد‬
‫این‬ ‫تمام‬ ‫چون‬ ‫نباشید‬ ‫نگران‬ ‫اصال‬ ‫اما‬ ‫نشناسید‬
‫تا‬ ‫را‬ ‫موارد‬‫کرد‬ ‫خواهیم‬ ‫مرور‬ ‫هم‬ ‫با‬ ‫مطلب‬ ‫انتهای‬
‫چه‬ ‫و‬ ‫چیست‬ ‫داکر‬ ‫که‬ ‫شد‬ ‫خواهیم‬ ‫متوجه‬ ‫پایان‬ ‫در‬ ‫و‬
‫دارد‬ ‫کاربردهایی‬.
‫از‬ ‫منظور‬Container‫چیست؟‬
4
‫سیستم‬ ‫که‬ ‫اهدافی‬ ‫از‬ ‫یکی‬‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫جدید‬ ‫های‬
‫می‬ ‫دنبال‬‫برنامه‬ ‫که‬ ‫است‬ ‫این‬ ،‫کنند‬،‫محیط‬ ‫یک‬ ‫در‬ ‫ها‬
‫هم‬ ‫از‬ ‫جدا‬ ‫و‬ ‫ایزوله‬ ‫صورت‬ ‫به‬ ‫اما‬.‫شوند‬ ‫نگهداری‬
‫تاثیر‬ ‫یکدیگر‬ ‫روی‬ ‫بر‬ ‫آنها‬ ‫فعالیت‬ ‫ترتیب‬ ‫این‬ ‫به‬
‫می‬ ‫کار‬ ‫هم‬ ‫از‬ ‫جدا‬ ‫و‬ ‫نداشته‬‫این‬ ‫اجرای‬ ‫البته‬ .‫کنند‬
‫کتابخانه‬ ،‫ها‬ ‫پکیج‬ ‫از‬ ‫استفاده‬ ‫خاطر‬ ‫به‬ ‫فرآیند‬‫ها‬
‫کامپونتت‬ ‫دیگر‬ ‫و‬‫می‬ ‫افزاری‬ ‫نرم‬ ‫های‬‫پیچیده‬ ‫تواند‬
‫شود‬.
‫راه‬ ‫از‬ ‫یکی‬‫استفاده‬ ‫تکنولوژی‬ ‫این‬ ‫کردن‬ ‫پیاده‬ ‫های‬
‫از‬‫مجازی‬ ‫ماشین‬(Virtual Machine)‫که‬ ‫است‬
‫برنامه‬‫از‬ ‫جدا‬ ‫کامال‬ ‫اما‬ ‫افزار‬ ‫سخت‬ ‫یک‬ ‫روی‬ ‫را‬ ‫ها‬
‫می‬ ‫نگه‬ ‫هم‬‫کامپوننت‬ ‫حالت‬ ‫این‬ ‫در‬ ‫پس‬ .‫دارد‬‫ما‬ ‫های‬
‫استفاده‬ ‫برای‬ ‫رقابت‬ ‫و‬ ‫نداشته‬ ‫هم‬ ‫با‬ ‫خاصی‬ ‫تداخل‬
‫می‬ ‫حداقل‬ ‫به‬ ‫هم‬ ‫افزاری‬ ‫سخت‬ ‫منابع‬ ‫از‬‫اما‬ .‫رسد‬
‫ماشین‬‫او‬ .‫دارند‬ ‫هم‬ ‫مشکالتی‬ ‫مجازی‬ ‫های‬‫همه‬ ‫از‬ ‫ل‬
‫افزار‬ ‫سخت‬ ‫و‬ ‫بوده‬ ‫سنگینی‬ ‫افزارهای‬ ‫نرم‬ ‫اینکه‬
‫می‬ ‫قدرتمندی‬ ‫نسبتا‬‫برنامه‬ ‫هر‬ ‫همینطور‬ .‫خواهند‬
‫است‬ ‫ممکن‬ ‫که‬ ‫دارد‬ ‫جداگانه‬ ‫عامل‬ ‫سیستم‬ ‫به‬ ‫نیاز‬
‫عامل‬ ‫سیستم‬ ‫این‬‫حجم‬ ‫ها‬‫داشته‬ ‫گیگابایتی‬ ‫چند‬ ‫های‬
‫بروزرسانی‬ ‫و‬ ‫نگهداری‬ ‫است‬ ‫ممکن‬ ‫اینکه‬ ‫و‬ .‫باشند‬
‫شود‬ ‫دشوار‬ ‫آنها‬.
‫ع‬ ‫بررسی‬‫میق‬‫تر‬Container‫مثال‬ ‫یک‬ ‫همراه‬ ‫به‬
5
‫مقابل‬ ‫در‬Container‫می‬ ‫که‬ ‫دارد‬ ‫قرار‬‫تواند‬
‫ماشین‬ ‫برای‬ ‫مناسبی‬ ‫جایگزین‬‫باشد‬ ‫مجازی‬ ‫های‬.
Container‫محیط‬‫هسته‬ ‫و‬ ‫کرده‬ ‫جدا‬ ‫را‬ ‫اجرایی‬ ‫های‬
‫می‬ ‫اشتراک‬ ‫به‬ ‫را‬ ‫عامل‬ ‫سیستم‬‫آنها‬ ‫حجم‬ .‫گذارد‬
‫ماشین‬ ‫به‬ ‫نسبت‬ ‫و‬ ‫بوده‬ ‫مگابایت‬ ‫به‬ ‫معموال‬‫مجازی‬ ‫های‬
‫از‬‫می‬ ‫استفاده‬ ‫کمتری‬ ‫منابع‬‫برخالف‬ ‫همینطور‬ .‫کند‬
‫ماشین‬‫نسبتا‬ ‫زمان‬ ‫به‬ ‫نیاز‬ ‫اجرا‬ ‫برای‬ ‫که‬ ‫مجازی‬ ‫های‬
،‫دارند‬ ‫زیادی‬Container‫می‬ ‫اجرا‬ ‫بالفاصله‬ ‫ها‬‫شوند‬.
‫که‬ ‫زمانی‬Container‫مقایسه‬ ‫مجازی‬ ‫ماشین‬ ‫با‬ ‫را‬
‫می‬‫اما‬ .‫هستیم‬ ‫حساب‬ ‫طرف‬ ‫ساز‬ ‫شبیه‬ ‫یک‬ ‫با‬ ‫یعنی‬ ‫کنیم‬
‫سا‬ ‫شبیه‬ ‫را‬ ‫چیزی‬ ‫چه‬ ‫دقیقا‬‫می‬ ‫زی‬‫درک‬ ‫برای‬ ‫کنیم؟‬
.‫کنیم‬ ‫استفاده‬ ‫مثال‬ ‫یک‬ ‫از‬ ‫است‬ ‫بهتر‬ ‫موضوع‬ ‫بهتر‬
‫ناهار‬ ‫و‬ ‫هستید‬ ‫کار‬ ‫به‬ ‫مشغول‬ ‫شرکتی‬ ‫در‬ ‫کنید‬ ‫فرض‬
‫داخل‬ ‫را‬ ‫آن‬ ‫و‬ ‫کرده‬ ‫درست‬ ‫خانه‬ ‫در‬ ‫روز‬ ‫هر‬ ‫را‬ ‫خود‬
‫می‬ ‫شرکت‬ ‫به‬ ‫ظرف‬ ‫یک‬.‫بفرمایید‬ ‫میل‬ ‫آنجا‬ ‫تا‬ ‫برید‬
‫کنید‬ ‫غذا‬ ‫پختن‬ ‫به‬ ‫شروع‬ ‫شرکت‬ ‫داخل‬ ‫نیست‬ ‫الزم‬ ‫دیگر‬
‫احتم‬ ‫چون‬‫می‬ ‫شما‬ ‫از‬ ‫را‬ ‫زیادی‬ ‫زمان‬ ‫اال‬‫کار‬ .‫گیرد‬
Container‫شما‬ .‫است‬ ‫این‬ ‫به‬ ‫شبیه‬ ‫حدودی‬ ‫تا‬ ‫هم‬
‫داخل‬ )‫(غذا‬ ‫را‬ ‫خود‬ ‫پروژه‬Container ()‫غذا‬ ‫ظرف‬
‫(مثال‬ ‫داشتید‬ ‫دوست‬ ‫که‬ ‫کجا‬ ‫هر‬ ‫را‬ ‫آن‬ ‫و‬ ‫داده‬ ‫قرار‬
‫می‬ )‫شرکت‬‫برید‬.
Docker‫چیست؟‬
6
‫می‬ ‫اجازه‬ ‫که‬ ‫است‬ ‫باز‬ ‫متن‬ ‫پروژه‬ ‫یک‬ ‫داکر‬‫دهد‬
Container‫یا‬‫برنامه‬‫بر‬ ‫مبتنی‬ ‫های‬Container
‫لینوکس‬ ‫برای‬ ‫کار‬ ‫شروع‬ ‫در‬ ‫داکر‬ ‫اینکه‬ ‫با‬ .‫بسازید‬
‫و‬ ‫ویندوز‬ ‫در‬ ‫خوبی‬ ‫به‬ ‫امروزه‬ ‫اما‬ ‫شد‬ ‫ساخته‬MacOS
‫می‬ ‫اجرا‬ ‫هم‬‫داکر‬ ‫با‬ ‫برنامه‬ ‫یک‬ ‫ساخت‬ ‫برای‬ .‫شود‬
‫کامپوننت‬ ‫از‬ ‫باید‬‫حاال‬ .‫کنیم‬ ‫استفاده‬ ‫مختلفی‬ ‫های‬
‫این‬ ‫سراغ‬ ‫است‬ ‫بهتر‬ ‫داکر‬ ‫مفهوم‬ ‫بهتر‬ ‫درک‬ ‫برای‬
‫کامپوننت‬‫آن‬ ‫و‬ ‫رفته‬ ‫ها‬‫کنیم‬ ‫بررسی‬ ‫را‬ ‫ها‬:
Dockerfile
‫هر‬Container‫کار‬ ‫به‬ ‫شروع‬ ‫داکر‬ ‫فایل‬ ‫یک‬ ‫با‬ ‫داکر‬
‫می‬‫کند‬. Dockerfile‫آن‬ ‫داخل‬ ‫که‬ ‫بوده‬ ‫متنی‬ ‫فایل‬ ‫یک‬
‫دستورالعمل‬ ‫فهم‬ ‫قابل‬ ‫و‬ ‫ساده‬ ‫سینتکس‬ ‫یک‬ ‫با‬‫های‬
‫ساخت‬Docker Image‫جلوتر‬ ‫(کمی‬ ‫است‬ ‫شده‬ ‫داده‬ ‫قرار‬
‫برر‬ ‫را‬ ‫مفهوم‬ ‫این‬‫خواهیم‬ ‫سی‬‫اطالعات‬ ‫فایل‬ ‫این‬ )‫کرد‬
‫اندازی‬ ‫راه‬ ‫برای‬ ‫که‬ ‫گیرد‬ ‫برمی‬ ‫در‬ ‫را‬ ‫مهمی‬ ‫بسیار‬
‫در‬ .‫است‬ ‫ضروری‬ ‫آنها‬ ‫از‬ ‫استفاده‬ ‫داکر‬
‫واقع‬Dockerfile‫می‬ ‫مشخص‬‫پشت‬ ‫که‬ ‫کند‬Container‫ما‬
‫زبان‬ ‫چه‬ ‫از‬ ‫همینطور‬ ،‫بگیرد‬ ‫قرار‬ ‫عاملی‬ ‫سیستم‬ ‫چه‬
‫پورت‬ ،‫محلی‬ ‫متغیرهای‬ ،‫ها‬‫غیره‬ ‫یا‬ ‫شبکه‬ ‫های‬
‫استفاده‬‫مهم‬ ‫و‬ .‫شود‬‫کند‬ ‫مشخص‬ ‫اینکه‬ ‫همه‬ ‫از‬ ‫تر‬
7
Container‫قرار‬ ‫شد‬ ‫اجرا‬ ‫واقعا‬ ‫اینکه‬ ‫از‬ ‫بعد‬ ‫ما‬
‫دهد‬ ‫انجام‬ ‫کاری‬ ‫چه‬ ‫است‬.
Docker image
‫نوشتن‬ ‫کار‬ ‫که‬ ‫زمانی‬ ‫واقع‬ ‫در‬Dockerfile‫تمام‬ ‫را‬
‫اسم‬ ‫به‬ ‫قابلیت‬ ‫یک‬ ،‫کردید‬Docker Build‫را‬
‫می‬ ‫فراخوانی‬‫یک‬ ‫دارد‬ ‫وظیفه‬ ‫که‬ ‫کنید‬Image‫اساس‬ ‫بر‬
‫محتویات‬Dockerfile‫بسازد‬ ‫شما‬. Dockerfile‫شامل‬
‫یک‬ ‫ساختن‬ ‫برای‬ ‫دستورالعمل‬ ‫سری‬ ‫یک‬Image‫در‬ ،‫است‬
‫که‬ ‫حالی‬Docker Image‫که‬ ‫است‬ ‫حمل‬ ‫قابل‬ ‫فایل‬ ‫یک‬
‫می‬ ‫مشخص‬ ‫که‬ ‫بوده‬ ‫دستورالعمل‬ ‫سری‬ ‫یک‬ ‫شامل‬‫کند‬
Container‫کامپوننت‬ ‫کدام‬‫اجرا‬ ‫را‬ ‫افزاری‬ ‫نرم‬ ‫های‬
‫شو‬ ‫اجرا‬ ‫آنها‬ ‫چطور‬ ‫اینکه‬ ‫و‬ ‫کند‬‫احتمال‬ ‫به‬ .‫ند‬
‫زیاد‬Dockerfile‫از‬ ‫را‬ ‫فایل‬ ‫تعدادی‬ ‫بخواهد‬
‫مخزن‬‫مختلف‬ ‫های‬(Repository)‫اینجا‬ ‫و‬ ‫کند‬ ‫دانلود‬
‫نسخه‬ ‫کدام‬ ‫که‬ ‫کنید‬ ‫مشخص‬ ‫واضح‬ ‫طور‬ ‫به‬ ‫باید‬‫ها‬
‫همینطور‬ .‫شوند‬ ‫دریافت‬Image‫استاتیک‬ ‫شده‬ ‫ساخته‬
‫می‬‫نیازی‬ ‫و‬ ‫بوده‬ ‫کافی‬ ‫آن‬ ‫ساختن‬ ‫بار‬ ‫یک‬ ‫یعنی‬ ،‫باشد‬
‫ندارید‬ ‫آن‬ ‫تغییر‬ ‫به‬‫آنها‬ ‫اسم‬ ‫از‬ ‫که‬ ‫همانطور‬ .
‫می‬،‫بزنید‬ ‫حدس‬ ‫توانید‬Image‫سیستم‬ ‫از‬ ‫تصویر‬ ‫یک‬
‫می‬ ‫اصلی‬ ‫عامل‬‫باشد‬.
Docker run
8
‫قابلیت‬Docker run‫که‬ ‫است‬ ‫دستور‬ ‫یک‬ ‫واقع‬ ‫در‬
Container‫می‬ ‫اندازی‬ ‫راه‬ ‫را‬‫می‬ .‫کند‬‫هر‬ ‫که‬ ‫دانیم‬
Container‫یک‬instance‫از‬ ‫نمونه‬ ‫یا‬Image‫و‬ ‫است‬
‫ماهیت‬Container‫ص‬ ‫به‬‫می‬ ‫موقتی‬ ‫ورت‬‫با‬ ‫اما‬ .‫باشد‬
‫می‬ ‫حال‬ ‫این‬‫متوقف‬ ‫را‬ ‫آنها‬ ‫توان‬(Stop)‫راه‬ ‫یا‬
‫مجدد‬ ‫اندازی‬(Restart)‫هر‬ .‫کرد‬Image‫می‬‫تواند‬
‫زیادی‬ ‫تعداد‬Container‫که‬ ‫زمانی‬ ‫(تا‬ ‫باشد‬ ‫داشته‬
‫باشند‬ ‫داشته‬ ‫فردی‬ ‫به‬ ‫منحصر‬ ‫نام‬ ‫کدام‬ ‫هر‬)
Docker Hub
‫ساخت‬ ‫چند‬ ‫هر‬Container‫اما‬ ،‫است‬ ‫راحتی‬ ‫کار‬ ‫ها‬
‫هر‬ ‫برای‬ ‫ندارد‬ ‫لزومی‬Image‫اول‬ ‫از‬Container
‫بسازید‬. Docker Hub‫مخزن‬ ‫یک‬Saas‫اشتراک‬ ‫به‬ ‫برای‬
‫مدیریت‬ ‫و‬ ‫گذاری‬Container‫آنجا‬ ‫در‬ .‫است‬ ‫ها‬
‫می‬‫توانید‬Image‫صورت‬ ‫به‬ ‫معموال‬ ‫که‬ ‫داکر‬ ‫رسمی‬ ‫های‬
‫مردم‬ ‫عموم‬ ‫همینطور‬ .‫کنید‬ ‫پیدا‬ ‫را‬ ‫هستند‬ ‫باز‬ ‫متن‬
‫پروژه‬ ‫هم‬‫این‬ ‫به‬ ‫را‬ ‫خود‬ ‫های‬Repository‫اضافه‬
‫می‬‫کنند‬.
Docker Engine
‫می‬ ‫حساب‬ ‫به‬ ‫داکر‬ ‫اصلی‬ ‫هسته‬ ‫و‬ ‫متفکر‬ ‫مغز‬‫یک‬ .‫آید‬
‫تکنولوژی‬‫کالینت/سرور‬‫که‬Container‫و‬ ‫ساخته‬ ‫را‬ ‫ها‬
‫می‬ ‫اجرا‬ ‫را‬ ‫آنها‬‫درباره‬ ‫کسی‬ ‫اگر‬ ‫واقع‬ ‫در‬ .‫کند‬
9
‫پروژه‬ ‫یا‬ ‫داکر‬ ‫شرکت‬ ‫منظورش‬ ‫و‬ ‫کرده‬ ‫صحبت‬ ‫داکر‬
‫درباره‬ ‫دارد‬ ‫یعنی‬ ،‫نباشد‬ ‫داکر‬Docker Engine‫حرف‬
‫می‬‫نسخه‬ ‫دو‬ ‫در‬ ‫موتور‬ ‫این‬ .‫زند‬Enterprise‫یا‬
Community‫می‬ ‫عرضه‬‫نسخه‬ .‫شود‬Community‫طور‬ ‫به‬
‫حالی‬ ‫در‬ ‫است‬ ‫استفاده‬ ‫قابل‬ ‫رایگان‬ ‫کامال‬ ‫و‬ ‫باز‬ ‫متن‬
‫نسخه‬ ‫که‬Enterprise‫قابلیت‬ ‫سری‬ ‫یک‬‫داشته‬ ‫اضافه‬ ‫های‬
‫هر‬ ‫برای‬ ‫ساالنه‬ ‫و‬Node‫به‬ ‫نزدیک‬0011‫هزینه‬ ‫دالر‬
‫دارد‬.
‫چطو‬ ‫داکر‬‫می‬ ‫کار‬ ‫ر‬‫کند؟‬
‫و‬ ‫رسیده‬ ‫بخش‬ ‫این‬ ‫به‬ ‫تا‬ ‫گفتیم‬ ‫را‬ ‫نکات‬ ‫این‬ ‫تمام‬
‫می‬ ‫کار‬ ‫چطور‬ ‫و‬ ‫چیست‬ ‫داکر‬ ‫بفهمیم‬‫را‬ ‫داکر‬ .‫کند‬
‫می‬‫به‬ ‫نه‬ ‫اما‬ ،‫بگیریم‬ ‫نظر‬ ‫در‬ ‫ساز‬ ‫مجازی‬ ‫یک‬ ‫توانیم‬
‫ماشین‬ ‫که‬ ‫شکلی‬‫می‬ ‫کار‬ ‫مجازی‬ ‫های‬‫سرویس‬ ‫این‬ .‫کنند‬
‫می‬ ‫کمک‬ ‫شما‬ ‫به‬‫تقسیم‬ ‫بخش‬ ‫چند‬ ‫به‬ ‫را‬ ‫محیط‬ ‫یک‬ ‫کند‬
‫در‬ ‫و‬ ‫و‬ ‫کرده‬.‫کنید‬ ‫اجرا‬ ‫مجزا‬ ‫برنامه‬ ‫یک‬ ‫بخش‬ ‫هر‬
‫به‬ ‫شبیه‬ ‫را‬ ‫داکر‬ ‫لحظه‬ ‫یک‬ ‫موضوع‬ ‫بهتر‬ ‫درک‬ ‫برای‬
‫می‬ ،‫بگیرید‬ ‫نظر‬ ‫در‬ ‫مجازی‬ ‫ماشین‬‫ماشین‬ ‫که‬ ‫دانیم‬‫های‬
‫با‬ ‫مجازی‬Hypervisor‫انجام‬ ‫را‬ ‫سازی‬ ‫شبیه‬ ‫عملیات‬
‫می‬‫مستقیم‬ ‫ما‬ ‫و‬ ‫شده‬ ‫حذف‬ ‫الیه‬ ‫این‬ ‫داکر‬ ‫در‬ ‫اما‬ ‫دهند‬
‫می‬ ‫کار‬ ‫عامل‬ ‫سیستم‬ ‫هسته‬ ‫با‬‫ای‬ .‫کنیم‬‫بازدهی‬ ‫کار‬ ‫ن‬
‫می‬ ‫باال‬ ‫بسیار‬ ‫را‬ ‫سیستم‬‫برد‬.
‫شبیه‬ ‫یک‬ ‫داخل‬ ‫را‬ ‫عامل‬ ‫سیستم‬ ‫چند‬ ‫اینکه‬ ‫جای‬ ‫به‬ ‫ما‬
‫می‬ ‫نصب‬ ‫را‬ ‫داکر‬ ‫بار‬ ‫یک‬ ‫کنیم‬ ‫نصب‬ ‫ساز‬‫این‬ .‫کنیم‬
‫نظر‬ ‫در‬ ‫عادی‬ ‫افزار‬ ‫نرم‬ ‫یک‬ ‫نصب‬ ‫به‬ ‫شبیه‬ ‫را‬ ‫فرآیند‬
‫محیط‬ ‫داکر‬ ‫بعد‬ .‫بگیرید‬‫نام‬ ‫به‬ ‫مستقلی‬ ‫های‬
10
Container‫می‬ ‫ایجاد‬‫هر‬ ‫که‬ ‫کند‬Container‫می‬‫تواند‬
‫بسته‬ ‫شامل‬‫حاال‬ .‫باشد‬ ‫مختلفی‬ ‫افزاری‬ ‫نرم‬ ‫های‬
‫می‬‫داکر‬ ‫داخل‬ ‫توانید‬Container‫ایجاد‬ ‫مختلفی‬ ‫های‬
‫پروژه‬ ‫و‬ ‫کنید‬‫هر‬ ‫روی‬ ‫مستقل‬ ‫طور‬ ‫به‬ ‫را‬ ‫خود‬ ‫های‬
‫نمایید‬ ‫اجرا‬ ‫کدام‬.
‫گیری‬ ‫نتیجه‬
‫ساخت‬ ‫و‬ ‫طراحی‬ ‫برای‬ ‫سورس‬ ‫اوپن‬ ‫ابزار‬ ‫یک‬ ‫داکر‬
‫برنامه‬‫کمک‬ ‫به‬ ‫ها‬Container‫است‬. Container‫به‬
‫می‬ ‫کمک‬ ‫نویس‬ ‫برنامه‬‫تمام‬ ‫با‬ ‫را‬ ‫خود‬ ‫پروژه‬ ‫که‬ ‫کند‬
‫وابستگی‬ ،‫ها‬ ‫کتابخانه‬ ‫(مثل‬ ‫دارد‬ ‫که‬ ‫هایی‬ ‫بخش‬‫و‬ ‫ها‬
‫این‬ ‫لطف‬ ‫به‬ .‫دربیاورد‬ ‫پکیج‬ ‫یک‬ ‫صورت‬ ‫به‬ )‫غیره‬
‫او‬ ‫برنامه‬ ‫که‬ ‫است‬ ‫راحت‬ ‫خیالش‬ ‫نویس‬ ‫برنامه‬ ،‫تکنیک‬
‫می‬‫سیستم‬ ‫در‬ ‫تواند‬‫تنظیمات‬ ‫به‬ ‫نیاز‬ ‫بدون‬ ‫دیگر‬ ‫های‬
‫ا‬ ‫یا‬ ‫خاص‬‫شبیه‬ ‫را‬ ‫داکر‬ .‫شود‬ ‫اجرا‬ ‫جانبی‬ ‫بزارهای‬
‫که‬ ‫تفاوت‬ ‫این‬ ‫با‬ ،‫بگیرید‬ ‫نظر‬ ‫در‬ ‫مجازی‬ ‫ماشین‬ ‫به‬
‫دارد‬ ‫باالتری‬ ‫بسیار‬ ‫بازدهی‬.
:‫منابع‬
11
7learn.com
Docker.com
Geeksforgeeks.com

More Related Content

What's hot

What's hot (13)

Pg autoscaling in ceph
Pg autoscaling in  cephPg autoscaling in  ceph
Pg autoscaling in ceph
 
Docker
DockerDocker
Docker
 
Ossec
OssecOssec
Ossec
 
Osm
OsmOsm
Osm
 
کتاب Samba and Nfs
کتاب Samba and Nfsکتاب Samba and Nfs
کتاب Samba and Nfs
 
‫‪Wazuh‬‬ ‫و‬ ‫‪Ossec‬‬ ‫‪Wazuh‬‬ ‫به‬ ‫‪ossec‬‬ ‫از‬ ‫مهاجرت‬ ‫نحوه‬ ‫همچنین‬
‫‪Wazuh‬‬ ‫و‬ ‫‪Ossec‬‬ ‫‪Wazuh‬‬ ‫به‬ ‫‪ossec‬‬ ‫از‬ ‫مهاجرت‬ ‫نحوه‬ ‫همچنین‬‫‪Wazuh‬‬ ‫و‬ ‫‪Ossec‬‬ ‫‪Wazuh‬‬ ‫به‬ ‫‪ossec‬‬ ‫از‬ ‫مهاجرت‬ ‫نحوه‬ ‫همچنین‬
‫‪Wazuh‬‬ ‫و‬ ‫‪Ossec‬‬ ‫‪Wazuh‬‬ ‫به‬ ‫‪ossec‬‬ ‫از‬ ‫مهاجرت‬ ‫نحوه‬ ‫همچنین‬
 
Zabbix monitoring website
Zabbix monitoring websiteZabbix monitoring website
Zabbix monitoring website
 
Proxmox
ProxmoxProxmox
Proxmox
 
Zfs and btrfs
Zfs and btrfsZfs and btrfs
Zfs and btrfs
 
how config Naxsi
how config Naxsi how config Naxsi
how config Naxsi
 
Beowolf
BeowolfBeowolf
Beowolf
 
Partition in oracle mysql |Mariadb
Partition in oracle mysql |MariadbPartition in oracle mysql |Mariadb
Partition in oracle mysql |Mariadb
 
How Create Waf With Naxsi
How Create Waf With NaxsiHow Create Waf With Naxsi
How Create Waf With Naxsi
 

Similar to Docker

Similar to Docker (20)

Repository pattern
Repository patternRepository pattern
Repository pattern
 
مفاهیم اولیه داکر
مفاهیم اولیه داکرمفاهیم اولیه داکر
مفاهیم اولیه داکر
 
چرا نود.جی اس؟
چرا نود.جی اس؟چرا نود.جی اس؟
چرا نود.جی اس؟
 
Kotlin
KotlinKotlin
Kotlin
 
Node js-&-express-hassan-tafreshi-persian-lan
Node js-&-express-hassan-tafreshi-persian-lanNode js-&-express-hassan-tafreshi-persian-lan
Node js-&-express-hassan-tafreshi-persian-lan
 
HotSpot
HotSpotHotSpot
HotSpot
 
(ِData Structures-Java Object oriented Programming Languages)ساختارهای دیتا ...
 (ِData Structures-Java Object oriented Programming Languages)ساختارهای دیتا ... (ِData Structures-Java Object oriented Programming Languages)ساختارهای دیتا ...
(ِData Structures-Java Object oriented Programming Languages)ساختارهای دیتا ...
 
cloud-based authoring tools
cloud-based authoring toolscloud-based authoring tools
cloud-based authoring tools
 
Oracle نوشته مهندس اسمعیل دخت
Oracle  نوشته مهندس اسمعیل دختOracle  نوشته مهندس اسمعیل دخت
Oracle نوشته مهندس اسمعیل دخت
 
IranOUG_Oracle_Multitenant
IranOUG_Oracle_MultitenantIranOUG_Oracle_Multitenant
IranOUG_Oracle_Multitenant
 
راه اندازی مخزن در سیستم عامل فدورا
راه اندازی مخزن در سیستم عامل فدوراراه اندازی مخزن در سیستم عامل فدورا
راه اندازی مخزن در سیستم عامل فدورا
 
MongoDB
MongoDBMongoDB
MongoDB
 
nbd
nbdnbd
nbd
 
Javascript
JavascriptJavascript
Javascript
 
Javascript
JavascriptJavascript
Javascript
 
Network management 2_sample
Network management 2_sampleNetwork management 2_sample
Network management 2_sample
 
nbd and it's benefits
nbd and it's benefitsnbd and it's benefits
nbd and it's benefits
 
مسیردهی و پروتوکولهای مسیریابی
مسیردهی و پروتوکولهای مسیریابیمسیردهی و پروتوکولهای مسیریابی
مسیردهی و پروتوکولهای مسیریابی
 
Cisco Exploration 2 In Persion-Muhibullah Aman
Cisco Exploration 2 In Persion-Muhibullah AmanCisco Exploration 2 In Persion-Muhibullah Aman
Cisco Exploration 2 In Persion-Muhibullah Aman
 
Oracle Data Integrator (persian)
Oracle Data Integrator (persian)Oracle Data Integrator (persian)
Oracle Data Integrator (persian)
 

Docker

  • 1. :‫موضوع‬‫چیست‬ ‫داکر‬ ‫یعقوبی‬ ‫آقای‬ ‫جناب‬ :‫راهنما‬ ‫استاد‬ ‫گشایش‬ ‫علیرضا‬ :‫محقق‬
  • 3. 3 ‫داکر‬‫اپلیکیشن‬ ‫ساخت‬ ‫برای‬ ‫افزاری‬ ‫نرم‬ ‫پلتفرم‬ ‫یک‬‫های‬ ‫بر‬ ‫مبتنی‬Container‫محیط‬ .‫است‬‫و‬ ‫کوچک‬ ‫اجرایی‬ ‫های‬ ‫عامل‬ ‫سیستم‬ ‫هسته‬ ‫از‬ ‫مشترک‬ ‫طور‬ ‫به‬ ‫که‬ ‫سبک‬‫استفاده‬ ‫می‬‫کامال‬ ‫و‬ ‫ایزوله‬ ‫محیط‬ ‫یک‬ ‫در‬ ‫حال‬ ‫عین‬ ‫در‬ ‫اما‬ ‫کنند‬ ‫مفهوم‬ ‫چند‬ ‫هر‬ .‫دارند‬ ‫قرار‬ ‫هم‬ ‫از‬ ‫جدا‬container ‫مدت‬ ‫از‬ ‫نگهدارنده‬ ‫یا‬‫حوزه‬ ‫در‬ ‫قبل‬ ‫ها‬IT‫بود‬ ‫مطرح‬ ‫سال‬ ‫در‬ ‫باز‬ ‫متن‬ ‫پروژه‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫داکر‬ ‫اما‬۳۱۹۹ ‫شد‬ ‫باعث‬ ‫داکر‬ ‫واقع‬ ‫در‬ .‫شد‬ ‫عرضه‬ ‫و‬ ‫معرفی‬ container‫ای‬ ‫تازه‬ ‫جان‬‫محبوب‬ ‫دوباره‬ ‫و‬ ‫بگیرد‬ ‫از‬ ‫استفاده‬ ‫سمت‬ ‫به‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ .‫شود‬ Container‫سرویس‬ ‫میکرو‬ ‫و‬‫عنوان‬ ‫به‬ ‫بعدها‬ ‫و‬ ‫رفت‬ ‫ها‬ ‫یا‬ ‫ابری‬ ‫توسعه‬evelopmentDnative-loudC‫شناخته‬ ‫را‬ ‫شد‬ ‫گفته‬ ‫اینجا‬ ‫تا‬ ‫که‬ ‫مفاهیم‬ ‫از‬ ‫بعضی‬ ‫شاید‬ .‫شد‬ ‫این‬ ‫تمام‬ ‫چون‬ ‫نباشید‬ ‫نگران‬ ‫اصال‬ ‫اما‬ ‫نشناسید‬ ‫تا‬ ‫را‬ ‫موارد‬‫کرد‬ ‫خواهیم‬ ‫مرور‬ ‫هم‬ ‫با‬ ‫مطلب‬ ‫انتهای‬ ‫چه‬ ‫و‬ ‫چیست‬ ‫داکر‬ ‫که‬ ‫شد‬ ‫خواهیم‬ ‫متوجه‬ ‫پایان‬ ‫در‬ ‫و‬ ‫دارد‬ ‫کاربردهایی‬. ‫از‬ ‫منظور‬Container‫چیست؟‬
  • 4. 4 ‫سیستم‬ ‫که‬ ‫اهدافی‬ ‫از‬ ‫یکی‬‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫جدید‬ ‫های‬ ‫می‬ ‫دنبال‬‫برنامه‬ ‫که‬ ‫است‬ ‫این‬ ،‫کنند‬،‫محیط‬ ‫یک‬ ‫در‬ ‫ها‬ ‫هم‬ ‫از‬ ‫جدا‬ ‫و‬ ‫ایزوله‬ ‫صورت‬ ‫به‬ ‫اما‬.‫شوند‬ ‫نگهداری‬ ‫تاثیر‬ ‫یکدیگر‬ ‫روی‬ ‫بر‬ ‫آنها‬ ‫فعالیت‬ ‫ترتیب‬ ‫این‬ ‫به‬ ‫می‬ ‫کار‬ ‫هم‬ ‫از‬ ‫جدا‬ ‫و‬ ‫نداشته‬‫این‬ ‫اجرای‬ ‫البته‬ .‫کنند‬ ‫کتابخانه‬ ،‫ها‬ ‫پکیج‬ ‫از‬ ‫استفاده‬ ‫خاطر‬ ‫به‬ ‫فرآیند‬‫ها‬ ‫کامپونتت‬ ‫دیگر‬ ‫و‬‫می‬ ‫افزاری‬ ‫نرم‬ ‫های‬‫پیچیده‬ ‫تواند‬ ‫شود‬. ‫راه‬ ‫از‬ ‫یکی‬‫استفاده‬ ‫تکنولوژی‬ ‫این‬ ‫کردن‬ ‫پیاده‬ ‫های‬ ‫از‬‫مجازی‬ ‫ماشین‬(Virtual Machine)‫که‬ ‫است‬ ‫برنامه‬‫از‬ ‫جدا‬ ‫کامال‬ ‫اما‬ ‫افزار‬ ‫سخت‬ ‫یک‬ ‫روی‬ ‫را‬ ‫ها‬ ‫می‬ ‫نگه‬ ‫هم‬‫کامپوننت‬ ‫حالت‬ ‫این‬ ‫در‬ ‫پس‬ .‫دارد‬‫ما‬ ‫های‬ ‫استفاده‬ ‫برای‬ ‫رقابت‬ ‫و‬ ‫نداشته‬ ‫هم‬ ‫با‬ ‫خاصی‬ ‫تداخل‬ ‫می‬ ‫حداقل‬ ‫به‬ ‫هم‬ ‫افزاری‬ ‫سخت‬ ‫منابع‬ ‫از‬‫اما‬ .‫رسد‬ ‫ماشین‬‫او‬ .‫دارند‬ ‫هم‬ ‫مشکالتی‬ ‫مجازی‬ ‫های‬‫همه‬ ‫از‬ ‫ل‬ ‫افزار‬ ‫سخت‬ ‫و‬ ‫بوده‬ ‫سنگینی‬ ‫افزارهای‬ ‫نرم‬ ‫اینکه‬ ‫می‬ ‫قدرتمندی‬ ‫نسبتا‬‫برنامه‬ ‫هر‬ ‫همینطور‬ .‫خواهند‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫دارد‬ ‫جداگانه‬ ‫عامل‬ ‫سیستم‬ ‫به‬ ‫نیاز‬ ‫عامل‬ ‫سیستم‬ ‫این‬‫حجم‬ ‫ها‬‫داشته‬ ‫گیگابایتی‬ ‫چند‬ ‫های‬ ‫بروزرسانی‬ ‫و‬ ‫نگهداری‬ ‫است‬ ‫ممکن‬ ‫اینکه‬ ‫و‬ .‫باشند‬ ‫شود‬ ‫دشوار‬ ‫آنها‬. ‫ع‬ ‫بررسی‬‫میق‬‫تر‬Container‫مثال‬ ‫یک‬ ‫همراه‬ ‫به‬
  • 5. 5 ‫مقابل‬ ‫در‬Container‫می‬ ‫که‬ ‫دارد‬ ‫قرار‬‫تواند‬ ‫ماشین‬ ‫برای‬ ‫مناسبی‬ ‫جایگزین‬‫باشد‬ ‫مجازی‬ ‫های‬. Container‫محیط‬‫هسته‬ ‫و‬ ‫کرده‬ ‫جدا‬ ‫را‬ ‫اجرایی‬ ‫های‬ ‫می‬ ‫اشتراک‬ ‫به‬ ‫را‬ ‫عامل‬ ‫سیستم‬‫آنها‬ ‫حجم‬ .‫گذارد‬ ‫ماشین‬ ‫به‬ ‫نسبت‬ ‫و‬ ‫بوده‬ ‫مگابایت‬ ‫به‬ ‫معموال‬‫مجازی‬ ‫های‬ ‫از‬‫می‬ ‫استفاده‬ ‫کمتری‬ ‫منابع‬‫برخالف‬ ‫همینطور‬ .‫کند‬ ‫ماشین‬‫نسبتا‬ ‫زمان‬ ‫به‬ ‫نیاز‬ ‫اجرا‬ ‫برای‬ ‫که‬ ‫مجازی‬ ‫های‬ ،‫دارند‬ ‫زیادی‬Container‫می‬ ‫اجرا‬ ‫بالفاصله‬ ‫ها‬‫شوند‬. ‫که‬ ‫زمانی‬Container‫مقایسه‬ ‫مجازی‬ ‫ماشین‬ ‫با‬ ‫را‬ ‫می‬‫اما‬ .‫هستیم‬ ‫حساب‬ ‫طرف‬ ‫ساز‬ ‫شبیه‬ ‫یک‬ ‫با‬ ‫یعنی‬ ‫کنیم‬ ‫سا‬ ‫شبیه‬ ‫را‬ ‫چیزی‬ ‫چه‬ ‫دقیقا‬‫می‬ ‫زی‬‫درک‬ ‫برای‬ ‫کنیم؟‬ .‫کنیم‬ ‫استفاده‬ ‫مثال‬ ‫یک‬ ‫از‬ ‫است‬ ‫بهتر‬ ‫موضوع‬ ‫بهتر‬ ‫ناهار‬ ‫و‬ ‫هستید‬ ‫کار‬ ‫به‬ ‫مشغول‬ ‫شرکتی‬ ‫در‬ ‫کنید‬ ‫فرض‬ ‫داخل‬ ‫را‬ ‫آن‬ ‫و‬ ‫کرده‬ ‫درست‬ ‫خانه‬ ‫در‬ ‫روز‬ ‫هر‬ ‫را‬ ‫خود‬ ‫می‬ ‫شرکت‬ ‫به‬ ‫ظرف‬ ‫یک‬.‫بفرمایید‬ ‫میل‬ ‫آنجا‬ ‫تا‬ ‫برید‬ ‫کنید‬ ‫غذا‬ ‫پختن‬ ‫به‬ ‫شروع‬ ‫شرکت‬ ‫داخل‬ ‫نیست‬ ‫الزم‬ ‫دیگر‬ ‫احتم‬ ‫چون‬‫می‬ ‫شما‬ ‫از‬ ‫را‬ ‫زیادی‬ ‫زمان‬ ‫اال‬‫کار‬ .‫گیرد‬ Container‫شما‬ .‫است‬ ‫این‬ ‫به‬ ‫شبیه‬ ‫حدودی‬ ‫تا‬ ‫هم‬ ‫داخل‬ )‫(غذا‬ ‫را‬ ‫خود‬ ‫پروژه‬Container ()‫غذا‬ ‫ظرف‬ ‫(مثال‬ ‫داشتید‬ ‫دوست‬ ‫که‬ ‫کجا‬ ‫هر‬ ‫را‬ ‫آن‬ ‫و‬ ‫داده‬ ‫قرار‬ ‫می‬ )‫شرکت‬‫برید‬. Docker‫چیست؟‬
  • 6. 6 ‫می‬ ‫اجازه‬ ‫که‬ ‫است‬ ‫باز‬ ‫متن‬ ‫پروژه‬ ‫یک‬ ‫داکر‬‫دهد‬ Container‫یا‬‫برنامه‬‫بر‬ ‫مبتنی‬ ‫های‬Container ‫لینوکس‬ ‫برای‬ ‫کار‬ ‫شروع‬ ‫در‬ ‫داکر‬ ‫اینکه‬ ‫با‬ .‫بسازید‬ ‫و‬ ‫ویندوز‬ ‫در‬ ‫خوبی‬ ‫به‬ ‫امروزه‬ ‫اما‬ ‫شد‬ ‫ساخته‬MacOS ‫می‬ ‫اجرا‬ ‫هم‬‫داکر‬ ‫با‬ ‫برنامه‬ ‫یک‬ ‫ساخت‬ ‫برای‬ .‫شود‬ ‫کامپوننت‬ ‫از‬ ‫باید‬‫حاال‬ .‫کنیم‬ ‫استفاده‬ ‫مختلفی‬ ‫های‬ ‫این‬ ‫سراغ‬ ‫است‬ ‫بهتر‬ ‫داکر‬ ‫مفهوم‬ ‫بهتر‬ ‫درک‬ ‫برای‬ ‫کامپوننت‬‫آن‬ ‫و‬ ‫رفته‬ ‫ها‬‫کنیم‬ ‫بررسی‬ ‫را‬ ‫ها‬: Dockerfile ‫هر‬Container‫کار‬ ‫به‬ ‫شروع‬ ‫داکر‬ ‫فایل‬ ‫یک‬ ‫با‬ ‫داکر‬ ‫می‬‫کند‬. Dockerfile‫آن‬ ‫داخل‬ ‫که‬ ‫بوده‬ ‫متنی‬ ‫فایل‬ ‫یک‬ ‫دستورالعمل‬ ‫فهم‬ ‫قابل‬ ‫و‬ ‫ساده‬ ‫سینتکس‬ ‫یک‬ ‫با‬‫های‬ ‫ساخت‬Docker Image‫جلوتر‬ ‫(کمی‬ ‫است‬ ‫شده‬ ‫داده‬ ‫قرار‬ ‫برر‬ ‫را‬ ‫مفهوم‬ ‫این‬‫خواهیم‬ ‫سی‬‫اطالعات‬ ‫فایل‬ ‫این‬ )‫کرد‬ ‫اندازی‬ ‫راه‬ ‫برای‬ ‫که‬ ‫گیرد‬ ‫برمی‬ ‫در‬ ‫را‬ ‫مهمی‬ ‫بسیار‬ ‫در‬ .‫است‬ ‫ضروری‬ ‫آنها‬ ‫از‬ ‫استفاده‬ ‫داکر‬ ‫واقع‬Dockerfile‫می‬ ‫مشخص‬‫پشت‬ ‫که‬ ‫کند‬Container‫ما‬ ‫زبان‬ ‫چه‬ ‫از‬ ‫همینطور‬ ،‫بگیرد‬ ‫قرار‬ ‫عاملی‬ ‫سیستم‬ ‫چه‬ ‫پورت‬ ،‫محلی‬ ‫متغیرهای‬ ،‫ها‬‫غیره‬ ‫یا‬ ‫شبکه‬ ‫های‬ ‫استفاده‬‫مهم‬ ‫و‬ .‫شود‬‫کند‬ ‫مشخص‬ ‫اینکه‬ ‫همه‬ ‫از‬ ‫تر‬
  • 7. 7 Container‫قرار‬ ‫شد‬ ‫اجرا‬ ‫واقعا‬ ‫اینکه‬ ‫از‬ ‫بعد‬ ‫ما‬ ‫دهد‬ ‫انجام‬ ‫کاری‬ ‫چه‬ ‫است‬. Docker image ‫نوشتن‬ ‫کار‬ ‫که‬ ‫زمانی‬ ‫واقع‬ ‫در‬Dockerfile‫تمام‬ ‫را‬ ‫اسم‬ ‫به‬ ‫قابلیت‬ ‫یک‬ ،‫کردید‬Docker Build‫را‬ ‫می‬ ‫فراخوانی‬‫یک‬ ‫دارد‬ ‫وظیفه‬ ‫که‬ ‫کنید‬Image‫اساس‬ ‫بر‬ ‫محتویات‬Dockerfile‫بسازد‬ ‫شما‬. Dockerfile‫شامل‬ ‫یک‬ ‫ساختن‬ ‫برای‬ ‫دستورالعمل‬ ‫سری‬ ‫یک‬Image‫در‬ ،‫است‬ ‫که‬ ‫حالی‬Docker Image‫که‬ ‫است‬ ‫حمل‬ ‫قابل‬ ‫فایل‬ ‫یک‬ ‫می‬ ‫مشخص‬ ‫که‬ ‫بوده‬ ‫دستورالعمل‬ ‫سری‬ ‫یک‬ ‫شامل‬‫کند‬ Container‫کامپوننت‬ ‫کدام‬‫اجرا‬ ‫را‬ ‫افزاری‬ ‫نرم‬ ‫های‬ ‫شو‬ ‫اجرا‬ ‫آنها‬ ‫چطور‬ ‫اینکه‬ ‫و‬ ‫کند‬‫احتمال‬ ‫به‬ .‫ند‬ ‫زیاد‬Dockerfile‫از‬ ‫را‬ ‫فایل‬ ‫تعدادی‬ ‫بخواهد‬ ‫مخزن‬‫مختلف‬ ‫های‬(Repository)‫اینجا‬ ‫و‬ ‫کند‬ ‫دانلود‬ ‫نسخه‬ ‫کدام‬ ‫که‬ ‫کنید‬ ‫مشخص‬ ‫واضح‬ ‫طور‬ ‫به‬ ‫باید‬‫ها‬ ‫همینطور‬ .‫شوند‬ ‫دریافت‬Image‫استاتیک‬ ‫شده‬ ‫ساخته‬ ‫می‬‫نیازی‬ ‫و‬ ‫بوده‬ ‫کافی‬ ‫آن‬ ‫ساختن‬ ‫بار‬ ‫یک‬ ‫یعنی‬ ،‫باشد‬ ‫ندارید‬ ‫آن‬ ‫تغییر‬ ‫به‬‫آنها‬ ‫اسم‬ ‫از‬ ‫که‬ ‫همانطور‬ . ‫می‬،‫بزنید‬ ‫حدس‬ ‫توانید‬Image‫سیستم‬ ‫از‬ ‫تصویر‬ ‫یک‬ ‫می‬ ‫اصلی‬ ‫عامل‬‫باشد‬. Docker run
  • 8. 8 ‫قابلیت‬Docker run‫که‬ ‫است‬ ‫دستور‬ ‫یک‬ ‫واقع‬ ‫در‬ Container‫می‬ ‫اندازی‬ ‫راه‬ ‫را‬‫می‬ .‫کند‬‫هر‬ ‫که‬ ‫دانیم‬ Container‫یک‬instance‫از‬ ‫نمونه‬ ‫یا‬Image‫و‬ ‫است‬ ‫ماهیت‬Container‫ص‬ ‫به‬‫می‬ ‫موقتی‬ ‫ورت‬‫با‬ ‫اما‬ .‫باشد‬ ‫می‬ ‫حال‬ ‫این‬‫متوقف‬ ‫را‬ ‫آنها‬ ‫توان‬(Stop)‫راه‬ ‫یا‬ ‫مجدد‬ ‫اندازی‬(Restart)‫هر‬ .‫کرد‬Image‫می‬‫تواند‬ ‫زیادی‬ ‫تعداد‬Container‫که‬ ‫زمانی‬ ‫(تا‬ ‫باشد‬ ‫داشته‬ ‫باشند‬ ‫داشته‬ ‫فردی‬ ‫به‬ ‫منحصر‬ ‫نام‬ ‫کدام‬ ‫هر‬) Docker Hub ‫ساخت‬ ‫چند‬ ‫هر‬Container‫اما‬ ،‫است‬ ‫راحتی‬ ‫کار‬ ‫ها‬ ‫هر‬ ‫برای‬ ‫ندارد‬ ‫لزومی‬Image‫اول‬ ‫از‬Container ‫بسازید‬. Docker Hub‫مخزن‬ ‫یک‬Saas‫اشتراک‬ ‫به‬ ‫برای‬ ‫مدیریت‬ ‫و‬ ‫گذاری‬Container‫آنجا‬ ‫در‬ .‫است‬ ‫ها‬ ‫می‬‫توانید‬Image‫صورت‬ ‫به‬ ‫معموال‬ ‫که‬ ‫داکر‬ ‫رسمی‬ ‫های‬ ‫مردم‬ ‫عموم‬ ‫همینطور‬ .‫کنید‬ ‫پیدا‬ ‫را‬ ‫هستند‬ ‫باز‬ ‫متن‬ ‫پروژه‬ ‫هم‬‫این‬ ‫به‬ ‫را‬ ‫خود‬ ‫های‬Repository‫اضافه‬ ‫می‬‫کنند‬. Docker Engine ‫می‬ ‫حساب‬ ‫به‬ ‫داکر‬ ‫اصلی‬ ‫هسته‬ ‫و‬ ‫متفکر‬ ‫مغز‬‫یک‬ .‫آید‬ ‫تکنولوژی‬‫کالینت/سرور‬‫که‬Container‫و‬ ‫ساخته‬ ‫را‬ ‫ها‬ ‫می‬ ‫اجرا‬ ‫را‬ ‫آنها‬‫درباره‬ ‫کسی‬ ‫اگر‬ ‫واقع‬ ‫در‬ .‫کند‬
  • 9. 9 ‫پروژه‬ ‫یا‬ ‫داکر‬ ‫شرکت‬ ‫منظورش‬ ‫و‬ ‫کرده‬ ‫صحبت‬ ‫داکر‬ ‫درباره‬ ‫دارد‬ ‫یعنی‬ ،‫نباشد‬ ‫داکر‬Docker Engine‫حرف‬ ‫می‬‫نسخه‬ ‫دو‬ ‫در‬ ‫موتور‬ ‫این‬ .‫زند‬Enterprise‫یا‬ Community‫می‬ ‫عرضه‬‫نسخه‬ .‫شود‬Community‫طور‬ ‫به‬ ‫حالی‬ ‫در‬ ‫است‬ ‫استفاده‬ ‫قابل‬ ‫رایگان‬ ‫کامال‬ ‫و‬ ‫باز‬ ‫متن‬ ‫نسخه‬ ‫که‬Enterprise‫قابلیت‬ ‫سری‬ ‫یک‬‫داشته‬ ‫اضافه‬ ‫های‬ ‫هر‬ ‫برای‬ ‫ساالنه‬ ‫و‬Node‫به‬ ‫نزدیک‬0011‫هزینه‬ ‫دالر‬ ‫دارد‬. ‫چطو‬ ‫داکر‬‫می‬ ‫کار‬ ‫ر‬‫کند؟‬ ‫و‬ ‫رسیده‬ ‫بخش‬ ‫این‬ ‫به‬ ‫تا‬ ‫گفتیم‬ ‫را‬ ‫نکات‬ ‫این‬ ‫تمام‬ ‫می‬ ‫کار‬ ‫چطور‬ ‫و‬ ‫چیست‬ ‫داکر‬ ‫بفهمیم‬‫را‬ ‫داکر‬ .‫کند‬ ‫می‬‫به‬ ‫نه‬ ‫اما‬ ،‫بگیریم‬ ‫نظر‬ ‫در‬ ‫ساز‬ ‫مجازی‬ ‫یک‬ ‫توانیم‬ ‫ماشین‬ ‫که‬ ‫شکلی‬‫می‬ ‫کار‬ ‫مجازی‬ ‫های‬‫سرویس‬ ‫این‬ .‫کنند‬ ‫می‬ ‫کمک‬ ‫شما‬ ‫به‬‫تقسیم‬ ‫بخش‬ ‫چند‬ ‫به‬ ‫را‬ ‫محیط‬ ‫یک‬ ‫کند‬ ‫در‬ ‫و‬ ‫و‬ ‫کرده‬.‫کنید‬ ‫اجرا‬ ‫مجزا‬ ‫برنامه‬ ‫یک‬ ‫بخش‬ ‫هر‬ ‫به‬ ‫شبیه‬ ‫را‬ ‫داکر‬ ‫لحظه‬ ‫یک‬ ‫موضوع‬ ‫بهتر‬ ‫درک‬ ‫برای‬ ‫می‬ ،‫بگیرید‬ ‫نظر‬ ‫در‬ ‫مجازی‬ ‫ماشین‬‫ماشین‬ ‫که‬ ‫دانیم‬‫های‬ ‫با‬ ‫مجازی‬Hypervisor‫انجام‬ ‫را‬ ‫سازی‬ ‫شبیه‬ ‫عملیات‬ ‫می‬‫مستقیم‬ ‫ما‬ ‫و‬ ‫شده‬ ‫حذف‬ ‫الیه‬ ‫این‬ ‫داکر‬ ‫در‬ ‫اما‬ ‫دهند‬ ‫می‬ ‫کار‬ ‫عامل‬ ‫سیستم‬ ‫هسته‬ ‫با‬‫ای‬ .‫کنیم‬‫بازدهی‬ ‫کار‬ ‫ن‬ ‫می‬ ‫باال‬ ‫بسیار‬ ‫را‬ ‫سیستم‬‫برد‬. ‫شبیه‬ ‫یک‬ ‫داخل‬ ‫را‬ ‫عامل‬ ‫سیستم‬ ‫چند‬ ‫اینکه‬ ‫جای‬ ‫به‬ ‫ما‬ ‫می‬ ‫نصب‬ ‫را‬ ‫داکر‬ ‫بار‬ ‫یک‬ ‫کنیم‬ ‫نصب‬ ‫ساز‬‫این‬ .‫کنیم‬ ‫نظر‬ ‫در‬ ‫عادی‬ ‫افزار‬ ‫نرم‬ ‫یک‬ ‫نصب‬ ‫به‬ ‫شبیه‬ ‫را‬ ‫فرآیند‬ ‫محیط‬ ‫داکر‬ ‫بعد‬ .‫بگیرید‬‫نام‬ ‫به‬ ‫مستقلی‬ ‫های‬
  • 10. 10 Container‫می‬ ‫ایجاد‬‫هر‬ ‫که‬ ‫کند‬Container‫می‬‫تواند‬ ‫بسته‬ ‫شامل‬‫حاال‬ .‫باشد‬ ‫مختلفی‬ ‫افزاری‬ ‫نرم‬ ‫های‬ ‫می‬‫داکر‬ ‫داخل‬ ‫توانید‬Container‫ایجاد‬ ‫مختلفی‬ ‫های‬ ‫پروژه‬ ‫و‬ ‫کنید‬‫هر‬ ‫روی‬ ‫مستقل‬ ‫طور‬ ‫به‬ ‫را‬ ‫خود‬ ‫های‬ ‫نمایید‬ ‫اجرا‬ ‫کدام‬. ‫گیری‬ ‫نتیجه‬ ‫ساخت‬ ‫و‬ ‫طراحی‬ ‫برای‬ ‫سورس‬ ‫اوپن‬ ‫ابزار‬ ‫یک‬ ‫داکر‬ ‫برنامه‬‫کمک‬ ‫به‬ ‫ها‬Container‫است‬. Container‫به‬ ‫می‬ ‫کمک‬ ‫نویس‬ ‫برنامه‬‫تمام‬ ‫با‬ ‫را‬ ‫خود‬ ‫پروژه‬ ‫که‬ ‫کند‬ ‫وابستگی‬ ،‫ها‬ ‫کتابخانه‬ ‫(مثل‬ ‫دارد‬ ‫که‬ ‫هایی‬ ‫بخش‬‫و‬ ‫ها‬ ‫این‬ ‫لطف‬ ‫به‬ .‫دربیاورد‬ ‫پکیج‬ ‫یک‬ ‫صورت‬ ‫به‬ )‫غیره‬ ‫او‬ ‫برنامه‬ ‫که‬ ‫است‬ ‫راحت‬ ‫خیالش‬ ‫نویس‬ ‫برنامه‬ ،‫تکنیک‬ ‫می‬‫سیستم‬ ‫در‬ ‫تواند‬‫تنظیمات‬ ‫به‬ ‫نیاز‬ ‫بدون‬ ‫دیگر‬ ‫های‬ ‫ا‬ ‫یا‬ ‫خاص‬‫شبیه‬ ‫را‬ ‫داکر‬ .‫شود‬ ‫اجرا‬ ‫جانبی‬ ‫بزارهای‬ ‫که‬ ‫تفاوت‬ ‫این‬ ‫با‬ ،‫بگیرید‬ ‫نظر‬ ‫در‬ ‫مجازی‬ ‫ماشین‬ ‫به‬ ‫دارد‬ ‫باالتری‬ ‫بسیار‬ ‫بازدهی‬. :‫منابع‬