استفاده از Docker برای کاربران حرفهای نرم افزار و شبکه ضروری است. ولی واقعا چرا Docker بسیار مهم است؟ امیدواریم در این سلسله پستهای Docker به اهمیت Docker پی ببرید.
داکر خود را اینگونه معرفی میکند:
Build any app, Ship any where, Run any where
سوالی که مهم است و در ابتدا باید به آن پاسخ داد سوال زیر است:
Docker چه تفاوتی با Virtual Machinها دارد؟
سوالی که در ذهن هر شخص قبل از ورود به داکر خطور میکند. یکی از کارهایی که میتوان در Docker انجام داد عبارت است از: نصب سریع یک سیستم عامل، نصب ابزارهای مورد نیاز روی آن و در نهایت تست نرم افزار خود و پس از پایان کار پاک کردن محیط تست.
تفاوت Docker با Virtual Machin را میتوانید در تصویر زیر ببینید:
در تصویر بالا هم در داکر و هم در ماشین مجازی دو عنصور Server، Host Os مشترک است.
در مرحله بعدی در ماشین مجازی یک مجازی ساز مانند Vmware، VirtualBox و در داکر نرم افزار Docker را نصب داریم. تفاوتها از اینجا شروع میشود که در ماشین مجازی باید یک سیستم عامل کامل را نصب و نرم افزارها را روی آن نصب کرد. ولی داکر این مرحله را ساده کرده است و یک نسخه کوچک از سیستم عامل را در خود دارد که بدون نیاز به نصب سیستم عاملهای سنگین و پیچیده میتوان نرم افزارها را روی آن نصب و تست کرد.
هرچند میتوان نسخه کوچکی از نسخههای مختلف سیستم عامل را نیز نصب کرد ولی باز هم بسیار راحت تر از سیستم ماشینهای مجازی است. از مزایای استفاده از داکر نسبت به مجازی ساز میتوان به موارد زیر اشاره کرد:
- ایجاد و حذف بسیار سریع Container ها
- ریستارت و خاموش کردن بسیار سریع
- انتقال پذیری راحت و سبک
- مدیریت منابع و ریسورسها به صورت قدرتمند و متغیر
- و ...
داکر Image:
در داکر Imageها را پس از دریافت اجرا میکنیم. همانطور که در بالا میبینید یک Base Image مانند Debian روی این داکر نصب شده است و روی آن Imageهای دیگر را نصب کرده ایم.
Imageها پس از پایان به حالت اولیه خود باز میگردند چون همانطور از نام آنها مشخص است تنها یک تصویری از پکیج اصلی هستند. برای حذف تغییرات Image میتوان حالت آنها را با دستورات خاصی ذخیره کرد.
Docker Hub چیست؟
یک سرویس اشتراک گذاری تهیه شده توسط شرکت Docker است که شامل مخزنی از imageهای آماده برای Docker است.
این مخزن حاوی دهها هزار برنامه و سیستم عامل است که میتوان به آن imageهایی را هم اضافه کرد.
Docker Container:
در واقع میتوان گفت Container ظرفی است که Imageها را در آن اجرا میکنند. Containerها از روی Imageها ایجاد میشوند و به وظایف خود عمل میکنند. مثلا فرض کنید از یک Centos چند Container میسازیم و در هر کدام تغییرات متفاوتی اعمال میکنیم.
نصب داکر روی ویندوز:
برای نصب داکر از این لینک استفاده کنید. اگر این لینک فعال نبود. در گوگل جستجو کنید: docker toolbox.
نسخه مخصوص ویندوز این نرم افزار را دانلود و روی فایل نصب کلید کنید.
نکته: قبل از نصب داکر توجه داشته باشید که باید قابلیت مجازی سازی پردازنده خود را فعال کنید.
بستهای که نصب کردید علاوه بر داکر نرم افزارهای جانبی دیگری نظیر Virtual Box و Git Bash را نصب میکند.
پس از نصب نرم افزار Docker روی آیکون Docker Quickstart Terminal کلیک کنید. منتظر بمانید تا مراحل نصب و فعال سازی تنها برای نخستین بار کامل شود.
پس از تکمیل فرایند صفحهای مانند زیر میبینید. این صفحه یک ترمینال با نام Git Bash است. Git Bash در واقع شبیه ساز ترمینال لینوکس برای ویندوز است. اکثر دستورات لینوکس در این ترمینال قابل دسترسی هستند.
در این ترمینال دستور زیر را وارد کنید:
docker run hello-world
با پیغام زیر مواجه میشویم. این پیغام به این معناست که imageای با نام hello-world موجود نیست و باید از اینترنت دریافت شود.
Unable to find image 'hello-world:latest' locally
توجه داشته باشید برای گرفتن بستههای نرم افزاری از docker بدلیل مسایل تحریم با مشکل مواجه میشویم. به همین دلیل مجبور به استفاده از نرم افزاری هستیم که IP ما را به یک IP خارجی تغییر دهید (ف.ی.ل.ت.ر شکن).
پس از دریافت کامل این بسته با تایپ عبارت docker run hello-world متون زیر نمایش داده میشود:
استفاده از Kitematic در Docker:
Kitematic یک پروژه جداگانه بوده که برای مدیریت بستهها مورد استفاده قرار میگرفته است. اکنون Kitematic به پروژه Docker اضافه شده است و استفاده از Docker را ساده تر کرده است. توجه کنید استفاده از این نرم افزار نیز نیازمند ف.ی.ل.ت.ر شکن است.
به عنوان مثال در باکس جستو عبارت Hello world را جستجو کرده و Create را انتخاب میکنیم.
پس از نصب این بسته صفحه زیر ظاهر میشود:
همانطور که میبینید امکان Start و Restart برای بسته دانلودی موجود است. اجرای برنامه نیز در همین صفحه نمایش داده شده است.
میشه لطف کنید ادامه مطالب داکر و معماری آن را در سایتتون قرار دهید..
عالی بود
خسته نباشی
بسیار تشکر. مقاله بسیار ارزشمندی بود.
ممنون از ابراز لطفتون.
خیلی عالی بود ولی این مشکل برام پیش اومد لطفا راهنمایی نمایید.
من داکر (docker) در سیستم عامل ویندوز 7 و64 بیتی بدون مشکل نصب کردم و مشکل این است وقتی میخام یک خط کد ساده یعنی hello world اجرا کنم باید image آن دانلود بشه ولی خطا میده.
مشکل این است که داکر تشخیص میده ip من از ایران هست و منو بلاک می کنه، با توجه به این که من از ف.ی.ل.ت.ر ش.ک.ن استفاده می کنم و چک کردم که ip من مثلا واسه کالیفرنیا هست. ولی باز هم ip را بلاک می کنه.
حالا نمیدونم چه ip بررسی می کنه.
از یک فیلتر شکن دیگه استفاده کنید.
من تست کردم و مشکلی در این زمینه نیست.
سلام.....تشکر از شما و مطالب خوبتون ........مسله ای که برام پیش اومد:
دقیقا اهمیت docker با vm ware برای یک هکر در چیه؟ (یعنی دقیقا کاربرد docker چیه ؟؟؟)
سلام
شاید برای تست سیستم های عامل و نرم افزارها براتون کاربرد داشته باشه.