داکر در اواخر سال ۲۰۱۳ راهاندازی شد که در مقایسه با برخی از فناوریهای دیگری که توسعهدهندگان برنامههای وب استفاده میکنند، زمان زیادی نگذشته است. با این حال، اکنون بر روی هزاران سرور و ماشین مجازی نصب شده و میلیونها برنامه برای اجرا به آن متکی هستند.
در مقاله امروز، خواهیم فهمید که چرا داکر برای توسعهدهندگان چنین موفقیتی را به ارمغان آورده است و همچنین خواهیم دید که چگونه میتوانید آن را روی سرور مجازی خود مستقر کنید.
داکر چیست؟
داکر به مجموعهای از ابزارها اشاره دارد که از مجازیسازی در سطح سیستم عامل برای ایجاد زیرسیستمهایی به نام کانتینر استفاده میکنند. یک کانتینر به عنوان یک محیط ایزوله عمل میکند و سهم خود را از منابع CPU، حافظه و شبکه دارد.
هنگامی که یک کانتینر را مستقر میکنید، میتوانید از میان مجموعهای از بستههای نرمافزاری (به نام ایمیج) انتخاب کنید تا نصب کرده و بلافاصله شروع به استفاده کنید. صدها ایمیج موجود وجود دارد و میتوانید ایمیجهای خود را برای تطبیق با نیازهای خاص خود ایجاد کنید.
میتوانید داکر را روی سرورهای فیزیکی و ماشینهای مجازی که لینوکس، macOS و ویندوز اجرا میکنند مستقر کنید. پروژه اصلی به عنوان نرمافزار متنباز منتشر شد و همچنان کاملاً رایگان برای استفاده است. برای اکثر موارد استفاده به اندازه کافی قدرتمند است.
با این حال، اگر پروژه به ویژگیهای اضافی مانند چندین مخزن خصوصی، اجرای بیش از یک ساخت موازی، گزارشهای ممیزی یا یک سیستم کنترل دسترسی قویتر نیاز داشته باشد – باید یکی از برنامههای پولی را انتخاب کنید که از ۵ دلار در ماه شروع میشود.
اما چرا باید از داکر روی یک سرور مجازی خصوصی استفاده کنید؟
چرا داکر روی سرور ؟
کاربرانی که به دنبال راهاندازی یک وبلاگ ساده وردپرس هستند احتمالاً استفاده زیادی از داکر نخواهند داشت. با این حال، برای توسعهدهندگانی که روی چندین پروژه مختلف کار میکنند، میتواند بسیار ارزشمند باشد.
در اینجا فقط برخی از مزایای داکر آورده شده است:
سیستم عامل میزبان تمیزتری خواهید داشت
با قرار دادن همه چیز در کانتینرها، میزان به هم ریختگی در سیستم عامل اصلی سرور مجازی خود را کاهش میدهید. در نتیجه، میتوانید یک محیط میزبانی امنتر، قابل اعتمادتر و تمیزتر برای برنامههای خود داشته باشید.
میتوانید بدون نگرانی از عواقب اشتباه کنید
خطاهای کدنویسی در سیستمهای عامل سرور مجازی میتواند منجر به خرابی شود و اغلب، رسیدگی به مشکل ممکن است باعث تأخیرهای گران و زمان خاموشی شود. با قرار دادن برنامه در محیط بسته یک کانتینر داکر، نیازی به نگرانی در مورد تأثیر هرگونه اشکال بر عملکرد کلی سرور مجازی خود نخواهید داشت.
میتوانید چندین برنامه مستقل را روی یک سرور مجازی میزبانی کنید
با کانتینرهای داکر، میتوانید از یک سرور مجازی واحد برای میزبانی دو یا چند وبسایت یا برنامه که روی پشتههای نرمافزاری مختلف اجرا میشوند استفاده کنید. این یک افزایش انعطافپذیری عظیم است، به خصوص برای توسعهدهندگانی که همزمان چندین پروژه را مدیریت میکنند.
قادر خواهید بود محیط تولید را به طور کامل تکرار کنید
کانتینرهای داکر به شما امکان میدهند یک محیط آزمایشی مشابه با سرور تولید راهاندازی کنید. به این ترتیب، میتوانید اطمینان حاصل کنید که همه چیز هنگام استقرار کد به درستی کار خواهد کرد.
برنامهها از یکدیگر جدا هستند
اگر برنامههای شما روی سیستم عامل میزبان قرار داشته باشند، یک اشکال یا خرابی در یکی از آنها میتواند عملکرد کل سرور مجازی و هر چیزی که روی آن میزبانی شده است را بیثبات کند. جداسازی امن کانتینرهای داکر به این معنی است که حتی اگر یک برنامه مشکل داشته باشد – بقیه تحت تأثیر قرار نخواهند گرفت.
کانتینرها امنیت برنامه بهتری ارائه میدهند
با جداسازی برنامهها در کانتینرهای مختلف، داکر احتمال اینکه یک حمله به یک برنامه به هکرها کنترل بقیه را بدهد کاهش میدهد.
میتوانید به راحتی همان برنامه را روی چندین سرور مجازی مستقر کنید
ایمیجهای داکر به شما امکان میدهند یک کپی کامل از وبسایت یا برنامهای که روی یک سرور مجازی توسعه دادهاید را ایجاد کنید، آن را روی ماشین دیگری مستقر کنید و از آن به عنوان یک فیلوور استفاده کنید.
پشتیبانگیری سادهتر
با تبدیل کانتینر داکر خود به یک ایمیج، همچنین میتوانید یک نسخه پشتیبان از برنامه خود، همراه با تمام نرمافزارهایی که آن را اجرا میکنند داشته باشید که میتوانید در صورت وقوع اتفاق بدی به سرعت بازیابی کنید.
برای نصب داکر به چه چیزی نیاز دارید؟
داکر روی ویندوز، چندین توزیع لینوکس و macOS کار میکند. اینها محیطهای کاملاً متفاوتی هستند و مجموعه واحدی از نیازمندیهای سیستمی برای همه آنها وجود ندارد. در اینجا پیشنیازها برای هر سیستم عامل میزبان آورده شده است:
ویندوز
اگر میخواهید داکر را روی ویندوز اجرا کنید، به موارد زیر نیاز دارید:
– پردازنده ۶۴ بیتی با ترجمه آدرس سطح دوم (SLAT)
– ۴ گیگابایت رم
– مجازیسازی سختافزاری در سطح BIOS فعال شده باشد
برای استفاده از داکر با Windows Subsystem for Linux 2 (WSL2)، به ویندوز ۱۰ ۶۴ بیتی Home، Pro، Enterprise یا Education، نسخه ۱۹۰۳ (Build 18362 یا بالاتر) با ویژگی WSL 2 فعال شده و بسته بهروزرسانی هسته لینوکس نصب شده نیاز دارید.
کسانی که نیاز به اجرای داکر روی بکاند Hyper-V و کانتینرهای ویندوز دارند به ویندوز ۱۰ ۶۴ بیتی Pro، Enterprise یا Education (Build 17134 یا بالاتر) با ویژگی Hyper-V و Containers فعال شده نیاز خواهند داشت.
لینوکس
داکر برای لینوکس با چندین معماری CPU مختلف و تقریباً تمام توزیعهای محبوب از جمله CentOS، Debian، Fedora، Raspbian و Ubuntu سازگار است. کانتینرها از پشتیبانی بومی برای سیستمهای عامل متنباز برخوردار هستند، که به این معنی است که تنظیمات پیکربندی کمتری برای راهاندازی داکر خواهید داشت.
یک چیز دیگری که نیاز دارید سیستمی است که نسخه هسته ۳.۱۰ یا جدیدتر را اجرا میکند زیرا هستههای قدیمیتر با کانتینرهای داکر سازگار نیستند. کاربران لینوکس همچنین به حداقل ۵۱۲ مگابایت رم نیاز دارند، اگرچه توصیه میشود داکر را روی سیستمهایی با حداقل ۲ گیگابایت حافظه تصادفی نصب کنید.
در مورد فضای ذخیرهسازی و قدرت CPU، الزامات کاملاً به تعداد کانتینرهایی که نیاز به ایجاد دارید و ماهیت برنامههایی که در آنها ذخیره خواهید کرد بستگی دارد.
macOS
کاربران ماشینهای مک با چیپ اینتل باید:
– نسخه macOS 10.14 یا جدیدتر را اجرا کنند
– حداقل ۴ گیگابایت رم داشته باشند
– اطمینان حاصل کنند که نسخههای قدیمیتر از ۴.۳.۳۰ VirtualBox نصب نشدهاند، زیرا میتوانند مشکلات سازگاری ایجاد کنند
کاربران ماشینهای مک با CPUهای اپل باید اطمینان حاصل کنند که Rosetta 2 نصب شده است.
چگونه داکر را نصب کنیم؟
اگرچه ویندوز در بازار سیستم عاملهای دسکتاپ برتری دارد، لینوکس بیشتر سرورهای میزبانی وب را قدرت میبخشد. این کار سرویس را مقرون به صرفهتر میکند و بسیاری از ابزارها، از جمله داکر، روی لینوکس بهتر از هر پلتفرم دیگری عمل میکنند.
CentOS یکی از محبوبترین توزیعهای لینوکس برای سرورهای میزبانی است و به راحتی با داکر یکپارچه میشود. بیایید نگاهی به مراحل نصب آن بیندازیم.
۱. با دسترسی root یا sudo وارد شوید
نصب و اجرای داکر نیاز به دسترسی root یا superuser دارد. اگر به عنوان root وارد شدهاید، میتوانید پیشوند sudo را از دستورات حذف کنید.
۲. سیستم را بهروزرسانی کنید
بهروزرسانی تمام بستههای نرمافزاری قبل از نصب برنامههای جدید ضروری است. برای بهروزرسانی سیستم CentOS خود، به دستور زیر نیاز دارید:
sudo yum update -y
گزینه -y به طور خودکار به درخواست لینوکس پس از بررسی بهروزرسانیها پاسخ میدهد.
۳. مخزن داکر را تنظیم کنید
داکر بخشی از مخزن نرمافزاری پیشفرض CentOS نیست، بنابراین باید آن را خودتان تنظیم کنید. میتوانید این کار را از طریق بسته yum-utils با استفاده از دستورات زیر انجام دهید:
sudo yum install yum-utils -y
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
۴. موتور داکر را نصب کنید
با تنظیم مخزن، میتوانید آخرین نسخه داکر و Containerd را با استفاده از دستورات زیر نصب کنید:
sudo yum install docker-ce docker-ce-cli containerd.io
۵. داکر را شروع کرده و اطمینان حاصل کنید که در حال اجرا است
تمام اجزای مورد نیاز برای اجرای داکر اکنون روی سیستم CentOS شما نصب شدهاند. زمان فعالسازی و تست آن است.
برای فعال کردن داکر، از دستور زیر استفاده کنید:
sudo systemctl start docker
از آنجایی که هیچ نشانه بصری برای اطلاع از اینکه آیا داکر در حال اجرا است یا خیر وجود ندارد، مستندات پلتفرم توصیه میکند که اولین بار که داکر را تنظیم میکنید، دستور زیر را اجرا کنید:
sudo docker run hello-world
این دستور به داکر میگوید که یک ایمیج تستی دانلود کند، آن را در یک کانتینر اجرا کند و پیامی را چاپ کند که به شما اطلاع دهد نصب موفقیتآمیز بوده است.
نتیجهگیری
شکی در آن نیست – داکر یک راهحل بسیار قدرتمند است. این فناوری قابل اعتماد است و محیط انعطافپذیری را که توسعهدهندگان برای ساخت و پیکربندی برنامههای خود برای بهترین عملکرد و امنیت ممکن نیاز دارند، فراهم میکند.
این را با مزایای میزبانی سرور مجازی ترکیب کنید، و به سرعت خواهید دید که چرا این پیکربندی در قلب بسیاری از پروژهها قرار دارد.