DUMMY PRACTITIONERS

technical experiences using microservices

DUMMY PRACTITIONERS

technical experiences using microservices

Docker Container Registry

پنجشنبه, ۲۱ بهمن ۱۳۹۵، ۰۶:۰۴ ب.ظ

container management


چه شروع به استفاده از داکر کرده‌باشید چه در حال آشنایی با داکر یا بررسی آن هستید، خوندن این مطلب براتون مفید خواهد بود؛ چرا که سعی شده در این پست یکی از پایه‌ای‌ترین مسائلی که هنگام استفاده از داکر بهش برمیخورید بررسی بشه : چگونه نسخه جدید از یک داکر ایمیج (docker image) رو روی همه نود‌ها مستقر کنیم؟


مکانیزم پیشفرض داکر برای توزیع ایمیج، رجیستری (registery) است، که سرویسی برای میزبانی (hosting) و توزیع (distributing) ایمیج‌ها است. این کار میتونه به صورت hosted انجام بشه یا اینکه یک private copy ازش داشته باشید.


دو تا از نکاتی که باید برای انتخاب کردن یکی از این دو روش در نظر بگیرید عبارتند از :‌

  • کارایی (Performance) : که عمدتا به roll-out frequency و سایز کلاستر وابسته است
  • مسائل امنیتی : مانند کنترل دسترسی(Access Control) و یا امضای دیجیتال داکر ایمیج
کارکرد اصلی رجیستری، lookup برای پیدا کردن ایمیجی خاص به وسیله‌ی description داده شده‌ای است. رجیستری، داکر ایمیج‌ها را در مخزن‌هایی (repository) یا به اختصار repos مدیریت میکند. repos مجموعه‌ای از ایمیج‌های مرتبط با هم هستند که معمولا نسخه‌های مختلفی از یک اپلیکیشن هستند.


برچسب‌ها (labels) برای تمییز دادن ایمیج‌ها از هم استفاده می‌شوند. یه برچسب میتونه در ساده‌ترین حالت یک identifier شامل عدد-حروف باشه که به یک ایمیج الحاق شده مثلا latest یا ۱.۱ ! اما معمولا میان یک مقدار hash شده رو برای این منظور استفاده میکنند. یک مخزن، عملیات‌هایی مانند pushing ( برای آپلود کردن یک ایمیج روی یک repo ) و pulling ( برای دانلود کردن یک ایمیج از یک repo) رو ساپورت میکنه. (درست مثل git)

آدرس کامل یک داکر ایمیج به شرح زیر است : 


{registry}/(_|/r/{user_or_org})/{repository}:{tag}

که مقدار پیشفرض registry، داکر هاب هست. ( www.hub.docker.com )


برای این رجیستری انتخاب‌های مختلفی وجود داره از جمله: 


1- Docker Hub(تحریم)

2- Google Container Registry

3- Quay.io( پرایوتش هزینه داره)

4- Amazon c2 container registry


از  می ۲۰۱۶، gitlab، امکان داشتن container registery به صورت یکپارچه با پروژه رو فراهم کرد که این موضوع موجبات خوشحالی رو فراهم آورد. چرا که الان همونجایی که هاست پروژه‌مونه میتونه هاست داکر کانتینرهامون هم باشه و بعلاوه سایت به صورت عادی(بدون نیاز به وی پی ان یا ...) هم قابل دسترسی است.


برای استفاده از این قابلیت مراحل مطرح شده در لینک‌های زیر را دنبال کردیم‌:

1- (پیش‌نیاز) نصب گیت‌لب

۲- فعال کردن کانتینر رجیستری

۳- استقرار registry server

۴- مراجعه به سربرگ Registry در پروژه گیت لب، دستورات مورد نیاز برای ساخت ایمیج، push و ... رو هم نشون میده




نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی