نحوه نصب داکر در سیستم عامل ابونتو در ۵ دقیقه
در این مقاله قصد داریم به نحوه نصب داکر در سیستم عامل ابونتو ubuntu18.04 بپردازیم. قبل از این که مراحل نصب را با هم ببینیم به آشنایی با تاریخچه و مفهوم داکر می پردازیم . داکر ماژولی است که این امکان را برای توسعه دهندگان و برنامه نویسان فراهم می آورد که نرم افزار ها و پروسه ها را با تمام ماژول ها و وابستگی های آنها (مانند توابع و کتابخانه ها و …) جمع آوری و یکپارچه کرده به صورت یک پکیج درآورده به صورت ایزوله اجرا می کند.
تاریخچهی داکر
در سال ۲۰۱۳ فردی با نام سالامان هایکز (Solomon Hykes)، سازوکاری با نام داکر را راهاندازی کرد. هدف از این کار تعامل راحتتر با کانتینرها (Containers) بود. این ایده با موفقیت روبرو شد و در سال ۲۰۱۴ پس از انتشار داکر نسخه ۱.۰ شاهد افزایش محبوبیت آن بودیم.
در نتیجه شرکتها اپلیکیشنهای تحت سرور را به جای ماشینهای مجازی در بستر داکر راهاندازی کردند. جالب است بدانید چندین بانک بزرگ در زمانی که داکر هنوز در نسخه ۱.۰ به سر میبرد از این فناوری کمک گرفتند که این امر برای فناوری که در نسخه اولیه قرار دارد از امنیت بالای داکر حکایت میکند.
این روزها داکر و Moby که به عنوان مجموعه بالاسری داکر شناخته میشود، مخاطبین بسیار زیادی جذب کرده و بنا به گزارش داکر چیزی بیشتر از ۳.۵ اپلیکیشن در کانتینرها از طریق فناوری داکر قرار دارند و بیشتر از ۳.۷ میلیارد اپلیکیشن از این طریق دانلود شده است.
داکر چیست و نحوه نصب داکر ؟
برنامه نویسان با استفاده از داکر می توانند برنامه ها و اپلیکیشن های تولید شده را توسط داکر در پلتفرم ها و سیستم عامل های مختلف بدون مشکل اجرا کنند.در واقع بدون نگرانی از تنظیمات و وابستگی های یک نرم افزار خاص در پلتفرم های دیگر آن برنامه را در هر محیطی اجرا کنند.
داکر وظیفه ی مدیریت کانتینر ها را بر عهده دارد و شبیه به یک ماشین مجازی عمل می کند با این تفاوت که در ماشین مجازی اگر بخواهیم vm(ماشین مجازی) اپلیکیشن ها و برنامه ها به صورت ایزوله و جدا از هم کار کنند باید vm های مختلفی بسازیم که این موضوع با بار پردازشی و هدر رفت منابع سیستمی سرور همراه است؛ ما در این قسمت سعی کردیم به صورت مختصری به تعریف داکر بپردازیم؛ اما اگر دوست دارید مفهوم داکر را به طور کامل متوجه شوید پیشنهاد میکنیم به مقاله داکر چیست مراجعه کنید.
اما اگر داکر بر روی یک ماشین مجازی خاص که می تواند هر سیستم عاملی داشته باشد نصب شود و روی سرویس داکر کانتینر های مختلف حاوی برنامه ها و اپلیکیشن های مختلف نصب و اجرا شود. بدون اینکه ارتباطی با یکدیگر داشته باشند. بدین صورت کانتینرها از هم ایزوله هستند و نیاز ما برای داشتن چندین vm ماشین مجازی مرتفع می گردد. برای ساخت ماشین مجازی میتوانید به پنل کاربری سایت ابر آراز مراجعه کنید.
کانتینر چگونه کار می کند ؟
در ابتدا باید بگوییم که کانتینر نیازمند یک سیستم عامل میزبان است. در واقع کانتینر یک برنامه نرمافزاری است. همه اپلیکیشنهای درون یک کانتینر، درون فضای کاربری سیستم عامل اجرا میشوند این وضعیت موجب میشود که اپلیکیشنها بتوانند بدون عبور از سد سیستم عامل میهمان و سپس hypervisor به CPU دسترسی داشته باشند. در نتیجه کانتینرها عملکرد بهتری ارائه میدهند.
مشکلات ایجاد شده از سوی ماشینهای مجازی تا حدودی به وسیله کانتینرها حل شد، زیرا یک سیستم عامل میزبان و درایورهای آن میتواند شامل فایلهای باینری اپلیکیشنهایی باشد که آن را به اشتراک میگذارند. این وضعیت متضمن این نکته است که تنها فایلهای باینری مرتبط و منابع آنها روی کانتینر میزبانی شوند.
کانتینر یک نسخه تکراری از سیستم فایل میسازد و این کار امکان اجرای اپلیکیشنها در یک محیط امن را میسازد. بدین ترتیب همه منابع و فایلها درون سیستم فایل کانتینر اجرا میشود. در این وضعیت متغیرهای محیطی همراه با کتابخانهها درون کانتینرها نگهداری میشوند. بدین ترتیب اجرای دستورالعملها در کانتینرها در قیاس با وهلههای مبتنی برهایپر وایزر ( hypervisor ) سریعتر است؛ برای آشنایی ببشتر با هایپر وایزر می توانید مقاله ی هایپر وایزرچیست را در ابر آراز مطالعه کنید.
کانتینر در یک موتور کانتینر اجرا میشود. متعاقباً یک موتور کانتینر میتواند چند کانتینر را اجرا کند. این کانتینرها سیستم پیکربندی مبتنی بر فایل دارد. این فایلها را میتوان نسخهبندی و پشتیبانی کرد و مورد نظارت قرار داد. از این رو مقایسه دو کانتینر بسیار آسانتر است.
یک کانتینر شامل image-هایی است که کل اطلاعات مورد نیاز برای اجرای کانتینر را در خود دارد. کانتینرها ترجیح میدهند که اپلیکیشنهای تک لایهای به میکرو اپلیکیشنهایی افراز شوند و سپس ارتباطی بین این میکرو اپلیکیشنها برقرار شود. تشکیل میکروسرویسها به تیمهای IT این امکان را میدهد که تنها بخشهای الزامی اپلیکیشن را بهبود، پیادهسازی و توزیع کنند.
پیشنهاد مطالعه :
برای آشنایی بیشتر با ابزار کاربردی پاورشل و نحوه نصب آن روی ابونتو مقاله ی آموزش powershell و نصب آن در سیستم عامل ubuntu را در بلاگ ابر آراز مطالعه نمایید.
نصب داکر بر روی ابونتو
نصب داکر بر روی مخزن های اطلاعاتی رسمی ابونتو (ubuntu)وجود دارد اما ممکن است آخرین ورژن آن نباشد بنابراین برای اینکه مطمءن شویم ورژن آخر آن را مخزن اطلاعاتی رسمی دانلود مکنیم باید یک مخزن اطلاعاتی جدید اضافه کنیم و برای این که مطمعن شویم ورژن قابلی را دانلود میکنیم این کار را با یک کلید GPG دریافت فایل را امن میکنیم.
در اولین قدم لیست موجود بستههای خود را به روز کنید:
$ sudo apt update
بعد بستههای پیش نیاز را نصب میکنیم تا برای نصب بتوانیم از https استفاده شود.
$sudo apt install apt-transport-https ca-certificates curl software-properties-common
حالا کلید GPG را برای مخزن رسمی داکر به سیستم خود اضافه کنید.
$curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
مخزن اطلاعاتی داکر را برای بسته ی APT اضافه کنید.
sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable”
بعد از اضافه کردن مخزن پایگاه داده ی موجود در مخزن را به روز میکنیم.
sudo apt update
با استفاده از دستور زیر مطمئن می شویم که از مخزن اصلی داکر به جای مخزن پیش فرض اوبونتو برای نصب داکر استفاده میکند.
apt-cache policy docker-ce
باید خروجی شبیه زیر ببینید البته ممکن است نسخه ی داکر متفاوت باشد.
docker-ce:
Installed: (none)
Candidate: 18.03.1~ce~3-0~ubuntu
Version table:
18.03.1~ce~3-0~ubuntu 500
500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
توجه داشته باشید که docker-ce نصب نشده است اما نامزد نصب از مخزن داکر برای ابونتو 18.04 است.
و در نهایت داکر را نصب میکنیم.
sudo apt install docker-ce
داکر نصب می شود، فرایند اجرای شروع می شود.با رستور زیر در حال اجرا بودنش را بررسی می کنیم.
sudo systemctl status docker
خروجی شبیه متن زیر است که نشان می دهد سرویس داکر فعال و در حال اجراست.
docker.service – Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2018-07-05 15:08:39 UTC; 2min 55s ago
Docs: https://docs.docker.com
Main PID: 10096 (dockerd)
Tasks: 16
CGroup: /system.slice/docker.service
├─10096 /usr/bin/dockerd -H fd://
└─10113 docker-containerd –config /var/run/docker/containerd/containerd.toml
بعد از دیدن این خروجی می توانید از داکر برروی سیستم خود استفاده کنید.
برای دستیابی به اطلاعات روز دنیا در حوزه فناوری و تکنولوژی ما را در شبکه های اجتماعی دنبال کنید.