مقدمه
واژه داکر (Docker) اغلب بهصورت کلی به کار میرود، اما در واقع به دو چیز متفاوت اشاره دارد: پلتفرم داکر، مجموعهای از فناوریها برای ساخت، اشتراکگذاری و اجرای کانتینرها، و شرکت Docker, Inc.
خاستگاه شرکت Docker, Inc.
شرکت Docker, Inc. یک شرکت فناوری است که توسط توسعهدهنده و کارآفرین Solomon Hykes تأسیس شد. این شرکت در ابتدا بهعنوان ارائهدهنده پلتفرم بهعنوان سرویس (PaaS) با نام dotCloud فعالیت میکرد که خدمات خود را با استفاده از کانتینرهایی مدیریتشده توسط ابزاری داخلی به نام داکر ارائه میداد.
در سال ۲۰۱۳، بخش PaaS که با مشکل مواجه شده بود کنار گذاشته شد، شرکت با نام Docker, Inc. تغییر نام داد و بهطور کامل بر گسترش فناوری کانتینر در سطح جهانی متمرکز شد.
نحوه کارکرد پلتفرم داکر
در سطح کلی، پلتفرم داکر از دو بخش اصلی تشکیل شده است:
CLI (کلاینت)— ابزار خط فرمان برای صدور دستوراتengine (سرور)— اجزای سمت سرور که کانتینرها را اجرا و مدیریت میکنند
CLI دستورات ساده کاربر را به درخواستهای API تبدیل میکند و به engine ارسال میکند. کلاینت و engine میتوانند روی یک دستگاه یا از طریق شبکه با یکدیگر ارتباط داشته باشند.
docker run nginxدر پشت صحنه، این دستور ساده به یک درخواست API تبدیل میشود که توسط daemon مدیریت میشود و تمام پیچیدگیهای زیرین را از دید کاربر پنهان میکند.
ابتکار کانتینر باز (OCI)
Open Container Initiative (OCI) شورایی حاکمیتی تحت نظارت Linux Foundation است که مسئول نگهداری استانداردهای سطح پایین کانتینر میباشد. این نهاد پس از اختلافنظرهای اولیه در اکوسیستم شکل گرفت، زمانی که استانداردی رقیب به نام appc در کنار رویکرد خود داکر ظهور کرد.
برای جلوگیری از سردرگمی ناشی از دو استاندارد رقیب، بازیگران اصلی صنعت گرد هم آمدند و OCI را بهعنوان نهادی حاکمیتی و بیطرف نسبت به فروشندگان تشکیل دادند. امروزه OCI سه مشخصه اصلی را نگهداری میکند:
image-specruntime-specdistribution-spec
تمام نسخههای مدرن داکر با این مشخصهها سازگار هستند. برای مثال، BuildKit ایمیجهای سازگار با OCI تولید میکند و Docker Hub با پیادهسازی distribution-spec، بهعنوان یک رجیستری سازگار با OCI عمل میکند.
بنیاد محاسبات ابرمحور (CNCF)
Cloud Native Computing Foundation (CNCF) پروژه دیگری از Linux Foundation است که در سال ۲۰۱۵ با هدف پیشبرد فناوریهای کانتینر و محاسبات ابرمحور تأسیس شد. برخلاف OCI که مشخصات فنی تعریف میکند، CNCF از پروژههای مهمی مانند Kubernetes، containerd، Notary و Prometheus میزبانی میکند.
پروژههای CNCF سه مرحله بلوغ را طی میکنند:
- Sandbox
- Incubating
- Graduated
پروژههای Graduated آماده استفاده در محیط تولید در نظر گرفته میشوند و از استانداردهای بالای حاکمیتی و بهترین شیوهها پیروی میکنند. خود داکر نیز به دو فناوری میزبانیشده توسط CNCF یعنی containerd و Notary متکی است.
پروژه Moby
پروژه Moby ابتکاری جامعهمحور است که در ابتدا توسط Docker, Inc. برای ارائه ابزارهای تخصصی جهت ساخت پلتفرمهای کانتینری ایجاد شد. توسعهدهندگان میتوانند ابزارهای Moby را با راهحلهای داخلی یا اجزای پروژههای دیگر ترکیب کنند.
این پروژه اکنون شامل مشارکتکنندگانی از شرکتهایی مانند Microsoft، Mirantis و Nvidia نیز میشود.
نتیجهگیری
موفقیت داکر نتیجه فعالیت یک شرکت بهتنهایی نیست. این موفقیت بر پایه استانداردهای باز OCI بنا شده، توسط پروژههای ابرمحور میزبانیشده در CNCF پشتیبانی میشود و با ابزارهای جامعهمحور پروژه Moby غنیتر شده است. این استانداردها و سازمانها در کنار هم، بستری را فراهم میکنند که اکوسیستم کانتینر را سازگار، یکپارچه و همواره در حال تحول نگه میدارد.