داکر هاب Docker Hub سرور ذخیره ساز (repository) مبتنی بر ابر است که مصرف کنندگان وکاربران داکر می توانند در آن ایمج های کانتینر (container images) را ایجاد، تست، ذخیره سازی و توزیع کنند.
در مقاله کاملی به شرح داکر و مزیت های آن پرداختیم. در این مقاله با مفهوم داکر هاب Docker Hub آشنایی پیدا خواهیم کرد. با ما همراه باشید. در این مقاله ما به داکر پرداخ
به وسیله ی داکر هاب Docker Hub، کاربران می توانند همانطور که از یک فضا برای ایجاد سرور های ذخیره سازخصوصی یا private repositories ، ساختار های خودکار، وب هوک ها (webhooks) و گروه های کاری (work groups) استفاده می کنند، به محفظه های ایمج که منبع باز (open source) و عمومی هستتند نیز دسترسی پیدا کنند.
به عنوان مثال، یک فرد حرفه ای در دواپس می تواند کانتینر ایمج PostgreSQL رسمی را از داکر هاب Docker Hub بگیرد و همچنین می تواند یک RDBMS شخصی سازی شده را از محل ذخیره سازی خصوصی (private repositories) شرکت شان انتخاب کند.
داکر هاب Docker Hub و داکر رجیستری Docker Registry
داکر هاب Docker Hubنسخه ای از داکر رجیستری (Docker Registry) می باشد که میزبانی آن مبتنی بر ابر (cloud -hosted) است.
اگر کاربران داکر ترجیح می دهند که فضای ذخیره سازی و توزیع ایمج ها را به جای تکیه بر سرویس داکر انتخاب کنند، می توانند داکر رجیستری که یک نوع برنامه ی (application) جانبی سرور، مقیاس پذیر، منبع باز و stateless است را انتخاب کنند.
برای ساخت سرور ابری سفارشی خود به سایت ابر آراز مراجعه کنید.
سرور های ذخیره ساز داکر هاب Docker Hub ( repositories) چگونه کار می کنند؟
ایمج ها (images) در فضای ذخیره سازی داکرهاب هستند. کاربران می توانند ایمج های کانتینر را داخل این فضای ذخیره سازی آپلود و نگهداری کنند. سرور های ذخیره ساز این امکان را به کاربران می دهند تا روی ایمج های کانتینر با هم همکاری کرده و اشتراک گذاری کنند.
ذخیره سازهای خصوصی نیز از همه ی داده های حساس در مقابل افرادی که مجاز به دسترسی نیستند محافظت می کند.
کاربران برای قرار دادن یک ایمج داخل داکر هاب، باید مراحل زیر را طی کنند:
- محیط را از داکر ترمینال (Docker Terminal) به داکر آی دی (Docker ID) متغیر کنند. داکر آیدی Docker ID نام کاربری است که بین داکر هاب Docker Hub و داکر کلاد (Docker Cloud) به اشتراک گذاشته می شود.
- با این دستور وارد داکر کلاد (Docker Cloud) شوید: docker login
- با این دستور نیز ایمج تعیین شده را ضمیمه (tag) کنید: docker tag
- ایمج را با این دستور وارد داکرهاب کنید: docker push
- سپس داکر کلاد را برای اطمینان از اینکه ایمج ها در سرور ذخیره ساز آن نشان داده می شوند یا خیر، چک کنید.
- همچنین می توانید با این دستور یک ایمج را از داکر هاب Docker Hub خارج کنید: docker pull
ایمج ها (Images) در داکرهاب Duker Hub
ایمج های کانتینر ها در سرور های ذخیره سازی که روی فیچر تگ های داکر هاب (Docker Hub feature tags) قرار دارند، ذخیره می شوند. این فیچر تگ ها، ایمج ها را خواه جدید ترین نوع و به روز شده باشند یا ن، زیر سرفصل های مربوطه مانند ورژن اصلی OS و یا container function دسته بندی می کنند.
اگر ایمج ها تگ ها را حمل نکنند دستور :latest به عنوان پیش فرض استفاده می شود.
ایمج های کانتینر ها می توانند از لایه های مختلفی تشکیل شده باشند و توسط ایمج ها دوباره مورد استفاده قرار گیرند.
برای مثال، مکن است یک کاربر “آخرین” )’latest'( نوع یک ایمج RancherOS را اینگونه تغییر و بهبود دهد — rancher:user، خارج کردن این ایمج باعث خارج شدن آخرین نوع و ورژن ایمج RancherOS و متادیتای (metadata) ایمج کاربر نیز می شود اما در لایه ها تغییری ایجاد نمی شود، چرا که آنها از قبل از طریق ایمج rancher:latest دانلود شده اند.
همچنین ایمج ها می توانند از داکر هاب Docker Hub به صورت چکیده و کوتاه شده (digests) خارج شوند. این فرم ها، نوع های تغییر ناپذیر یک ایمج هستند که ممکن است آخرین ورژن آن نباشند. هنگام خارج کردن یک فرم کوتاه شده و چکیده از اینکه ایمج در حال استفاده همیشه یکسان خواهد بود، اطمینان حاصل می کند.
استفاده از شکل کوتاه شده ی ایمج ها (image digests)
در این حالت یک نام کوتاه شده به جای تگ نیم (tag name) در دستور خارج شدن داکر docker pull استفاده می شود. استفاده کردن از شکل کوتاه شده ی ایمج ها (image digests) به داکر اجازه ی خارج کردن هرگونه به روز رسانی، مانند به روز رسانی و بهبود امنیت در ایمج ها را نمی دهد؛ برای انجام هر نوع آپدیتی که می خواهید، باید تغییرات آن مستقیما در دایجست (digest) اعمال شوند.
به علاوه، یک کاربر می تواند به ایمج هایی که در دیگر محل های ذخیره سازی هستند به وسیله تعیین کردن مسیر محل ذخیره که شبیه به URL است دسترسی پیدا کند.
همچنین امکان خارج کردن چندین ایمج از یک محفظه (repository) با اضافه کردن -a یا –all-tags به دستور docker pull برای کاربران وجود دارد. برای کنسل کردن آن نیز می بایست دستور CTRL-C را در حالی که دستور docker pull در حال اجراست وارد کنیم.
محفظه های رسمی داکر (Docker Official Repositories) ایمج های اصلی را برای زبان های رایج برنامه نویسی، حجم های داده (data volumes) و OS ها را فراهم می کنند. این ایمج ها به منظور در برگیری برنامه های جدید امنیتی و عامل به روز رسانی می شوند. فروشندگان نرم افزار می توانند ایمج های رسمی را از طریق سرور های ذخیره ساز ساماندهی شده توزیع کرده و یا آنها را به وسیله حساب های کاربری گروهی و عمومی روی داکر هاب Docker Hub با دیگران به اشتراک بگذارند.
دیگر مزایای داکرهاب Docker Hub
داکر هاب Docker Hub به کاربران این اجازه را می دهد تا از طریق یک سیستم کامنتی که به سرور های ذخیره ساز ضمیمه شده، با یکدیگر تعامل کنند. این کامنت ها روی ایمج های شخصی پشتیبانی نمی شوند. همچنین کاربر می تواند این ذخیره ساز ها را ستاره دار یا star کرده که ویژگی شبیه سیستم نشانه گذاری کردن (Bookmarking) و همینطور نوعی تشکر و قدر دانی کردن است.
برای صاحبان سرور های ذخیره ساز این مکان فراهم شده است تا اگر تمایل داشتند به دیگر کاربران نیز اجازه ی دسترسی به آنها را بدهند. برنامه نویسان شرکت کننده در این توسعه (collaborators) فقط اجازه دسترسی برای وارد و خارج کردن ایمج ها از این سرور را دارند و قادر به ایجاد هیچ گونه تغییر اجرایی نیستند.
اگر تمایل دارید در مورد فرایند کلاستر و داکر سوآرم Docker Swarm بدانید حتما به مقاله مراجعه کنید.
برای مطالعه دیگر موضوعات راجع به داکر به دیگر مقالات ما مراجعه کنید و نظرات خود را با ما در میان بگذارید.