طریقه نصب واستفاده از داکر


مقدمه‌ای بر کانتینرها (Containers)

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

و یا حالتی را در نظر بگیرید که برنامه نویس PHP هستید و برای نوشتن برنامه خود لازم است که یکسری پیش‌نیاز‌ها مانند یک وب‌سرور(مثلا آپاچی) و یک پایگاه‌داده(MySQL) و……نصب کنید و تنظیمات مربوط به هرکدام از آن‌ها را انجام دهید. حال در نظر بگیرید که تمام موارد بالا را بر روی کامپیوتر خود اجرا کرده و برنامه خود را نوشتید. در چنین حالتی اگر نیاز داشته باشید که کد خود را به کامپیوتر خود در منزل منتقل کنید و آن را در منزل ادامه دهید، نیاز دارید که تمام پیش‌نیاز‌های لازم را دوباره بر روی سیستم خود در منزل نصب کنید در حالی که با رعایت هر کدام از این موارد، ممکن است کد شما به هنگام اجرا برروی سیستم خانگی شما، همراه با خطاهایی باشد.!!!!!

بنابراین، اگر مهندس شبکه و یا برنامه‌نویس هستید، داکر این امکان را به شما می‌دهد،‌ تا با ایجاد یک سری محفظه (Container)، تمامی ابزارهای لازم برای محیط توسعه نرم افزار را، در این محفظه قرار دهید، و هر کجا که خواستید آن را انتقال داده و استفاده کنید.

مقایسه کانتینر و ماشین مجازی

کانتینر‌ها از طریق  مجازی‌سازی در سطح سیستم‌عامل، امکان ایجاد چندین محیط مجازی(کاملا ایزوله) را بر روی یک میزبان فراهم می‌کنند. در واقع به جای استفاده از چندین سیستم‌عامل(مانند VMها)، سیستم‌عامل اصلی را به اشتراک می‌گذارند و کاربران تصور می‌کنند که با سیستم‌عامل اصلی درتماسند. این درحالی است که برای هرکانتینر(به منظور اجرای برنامه‌ها)، یک سیستم‌عامل مجازی تخصیص داده می‌شود. پیش از کانتینر‌ها، دو مفهوم “multitasking” و”hypervisor-based virtualization“،مورد استفاده قرار می‌گرفت . مفهوم “multitasking”، امکان اجرای چندین برنامه بر روی یک ماشین را فراهم می‌کند ولی با این تفاوت که امکان ایزوله‌سازی(مجزاکردن) برنامه‌ها از هم بسیار کمتر خواهدبود. حالت “hypervisor-based virtualization “، امکان ایجاد چندین برنامه‌ی کاربردی بر روی چندین ماشین مجازی را فراهم می‌کرد و در چنین حالتی لازم است که بر روی هر ماشین مجازی، ابتدا یک سیستم‌عامل جداگانه نصب و سپس سرویس مورد نظر اجرا شود. در این رویکرد بالاترین سطح از ایزوله‌سازی سرویس‌ها از هم فراهم می‌شود. اما این روش نیز به دلایل زیادی مناسب نیست که از جمله آن‌ها، عبارتند از:

۱- هر سیستم‌عامل یک زمانی را برای بوت شدن(راه‌اندازی)، نیاز دارد.

۲- منابع سخت‌افزاری که در زمان ایجاد ماشین‌های مجازی تخصیص داده می‌شود(همچون حافظه)، در صورت آزاد شدن، توسط ماشین‌های دیگر قابل استفاده نیستند.

شکل زیر مفهومی از مجازی‌سازی را نشان می‌دهد:

مجازی‌سازی

مجازی‌سازی با VM

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

مجازی‌سازی با کانتینر

مجازی‌سازی با کانتینر

داکر چیست؟ 

داکر یکی از پلتفرم‌های  معروف و محبوب کانتینر می‌باشد که به ما اجازه می‌دهد تا به سرعت اقدام به ساخت، تست و گسترش برنامه‌های کاربردی کنیم. در واقع، پس از نصب داکر، برنامه‌های کاربردی مورد نظرما ( بهمراه تمام وابستگی‌ها و کتابخانه‌ها و کد‌ها) بصورت image‌هایی درون واحد‌های استانداردی به نام “کانتینر“، قرار می‌گیرند. کانتینر‌های موجود بر روی داکر، یک محیط بسته را برای هر یک از برنامه‌های کاربردی مورد نظر ایجاد می‌کنند و از این طریق مانع از تداخل در اجرای برنامه‌های کاربردی نسبت بهم می‌شوند. با استفاده از داکر شما می‌توانید به سرعت برنامه‌های کاربردی مورد نظرتان را مستقر کنید و آن‌ها را در هر محیطی توسعه دهید و این اطمینان را داشته باشید که کدتان اجرا خواهد شد.

نکته!!!

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

نصب داکر در لینوکس

گام اول:نصب داکر

درواقع بسته‌ی مربوط به نصب داکر در ریپازیتوری ubuntu موجود است اما آخرین نسخه از داکر نیست. بنابراین برای اطمینان از دریافت آخرین نسخه، اقدام به دریافت آن از طریق سایت رسمی داکر (www.docker.com)، می‌کنیم.در ابتدا توصیه می‌شود که فهرست پکیج‌های موجود در ریپازیتوری‌های ubuntu را با دستور زیر بروزرسانی کنید:

$ sudo apt update 

سپس اقدام به نصب بسته‌های پیش نیاز، قبل از نصب داکر می‌کنیم:

$ sudo apt install apt-transport-https ca-certificates curl software-properties-common 

و درآخر با دستور زیر اقدام به نصب داکر می‌کنیم:

$ sudo apt install docker-ce 

اگر تا به اینجا موفق به اجرای درست دستورات شده اید، آخرین نسخه‌ی داکر بر روی ubuntu شما نصب شده است. به منظور مشاهده‌ی وضعیت داکر نصب شده، دستور زیر را در محیط اوبونتو خود وارد کنید:

$ sudo systemctl status docker 

خروجی این دستور باید مشابه تصویر زیر باشد:

وضعیت داکر پس از نصب

وضعیت داکر پس از نصب

همانطور که مشاهده می‌کنید، خروجی حاصل در تصویرنشاندهنده‌ی فعال(active) بودن داکر نصب شده است.

گام دوم: استفاده از دستورات داکر

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

$ docker 

دستورات داکر

دستورات موجود در داکر

همچنین به منظور مشاهده‌ی اطلاعات جزئی‌تر از داکر می‌توانید دستور زیر را وارد کنید:

$  docker info

گام سوم: استفاده از Docker Images

کانتینر‌های داکر حاوی Docker image‌ها هستند و بصورت پیش فرض، داکر این image‌ها را ازسایت Docker Hub (به نشانی hub.docker.com)، دانلود می‌کند. در واقع ریپازیتوری داکر بوسیله‌ی شرکت داکر مدیریت می‌شود و هر کسی می‌تواند docker image‌های خود را بر روی این سایت قرار دهد. بیشتر image‌های برنامه‌های کاربردی و توزیع‌های لینوکس که شما نیازخواهید داشت، در این سایت قرار دارد.

داکرهاب

سایت docker hub

همانطور که در تصویر بالا مشاهده می‌کنید، شما می‌توانید image‌های مورد نظرتان( در اینجا ubuntu) را جستجو کنید و با انتخاب آن، برچسب موجود در سمت راست صفحه(بعنوان مثال در اینجا docker pull ubuntu) را انتخاب ودر داکر خود کپی و مراحل نصب ایمیج مورد نظر را طی کنید.

گام چهارم: مثال نصب کنترلر ODL

ابتدا وارد سایت Docker hub، شوید و کنترلر مورد نظرتان( دراینجا opendaylight) را جستجو کنید:

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

جست و جوی کنترلر ODL در سایت Docker hub

سپس با انتخاب کنترلر مورد نظر، دستور مربوط به نصب image، موجود در سمت راست صفحه را انتخاب کنید و در اوبوتو به منظور نصب وارد کنید:

$ docker pull glefevre/opendaylight

نصب کنترلر ODL در داکر

نصب کنترلر ODL در داکر

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

$ docker run -it glefevre/opendaylight docker run -it glefevre/opendaylight

اجرای کنترلر ODL در داکر

اجرای کنترلر ODL در داکر

نصب داکر در ویندوز

برای نصب داکر در ویندوز لازم است که به موارد زیر بعنوان پیش‌نیاز توجه کنید:

۱- دارا بودن ویندوز ۱۰

۲- وارد مسیر Control Panel\Programs\Programs and Features شوید وبا انتخاب Turn windows features on or off، قابلیت Hyper-V را فعال کنید.

۳- لازم است حداقل ۴ گیگ RAM داشته باشید.

نکته!!!!

با فعال شدن این قابلیت، دیگر قادر به اجرا کردن ویرچوال باکس یا VM ware‌تان نخواهید بود. اما در این مورد نگران نباشید. ماشین‌های مجازی شما سالم وبه محض غیر‌فعال کردن این قابلیت، اجرا خواهند شد. علاوه براین، شما می‌توانید Docker toolbox را نصب کنیدو به جای استفاده از قابلیت Hyper-V، از ویرچوال باکس اوراکل استفاده کنید.

گام اول:نصب داکر

به سایت زیر مراجعه و فایل نصب داکر را دانلود کنید:

https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe

پس از اتمام دانلود، بر روی فایل دانلود شده(همانطور که در تصویر مشاهده می‌کنید)، کلیک کرده و اجازه بدهید تا مراحل نصب انجام شود.

فایل نصب داکر در ویندوز

فایل نصب داکر در ویندوز

پس از اتمام مراحل نصب وارد منوی Start شوید و کلمه‌ی Docker را جستجو کنید

 
داکردسکتاپ

داکردسکتاپ

نکته

اگر هنگام اجرا با خطایی مواجه شدید، این خطا مربوط به غیر فعال بودن قابلیت Hyper-v است.

پنجره‌ی cmd خود را باز کنید و با تایپ docker version، میتوانید اطلاعات مربوط به داکر خود را مشاهده کنید.

جزئیات داکر نصب شده در ویندوز

جزئیات داکر نصب شده در ویندوز

توجه!!!!!!!

می‌توانید از تمام دستورات گفته شده در بخش لینوکس استفاده کنید.

گام دوم: نصب کنترلر

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

جست وجوی کنترلر فلادلایت در داکرویندوز

جست وجوی کنترلر فلادلایت در داکرویندوز

سپس اقدام به نصب ایمیج کنترلر انتخابی خود کنید

دانلود ایمیج فلادلایت

دانلود ایمیج فلادلایت

اطمینان یابید که ایمیج را با موفقیت دانلود کرده‌اید

ایمیج کنترلر در داکر

ایمیج کنترلر در داکر



حال، وقت آن رسیده است که کنترلر خود را اجرا کنید

اجرای کنترلر در داکر

اجرای کنترلر در داکر

نتیجه‌گیری

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

 

 

امتیاز دهید

t.me/SDNCentral

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

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