Docker Container Registry
چه شروع به استفاده از داکر کردهباشید چه در حال آشنایی با داکر یا بررسی آن هستید، خوندن این مطلب براتون مفید خواهد بود؛ چرا که سعی شده در این پست یکی از پایهایترین مسائلی که هنگام استفاده از داکر بهش برمیخورید بررسی بشه : چگونه نسخه جدید از یک داکر ایمیج (docker image) رو روی همه نودها مستقر کنیم؟
مکانیزم پیشفرض داکر برای توزیع ایمیج، رجیستری (registery) است، که سرویسی برای میزبانی (hosting) و توزیع (distributing) ایمیجها است. این کار میتونه به صورت hosted انجام بشه یا اینکه یک private copy ازش داشته باشید.
دو تا از نکاتی که باید برای انتخاب کردن یکی از این دو روش در نظر بگیرید عبارتند از :
- کارایی (Performance) : که عمدتا به roll-out frequency و سایز کلاستر وابسته است
- مسائل امنیتی : مانند کنترل دسترسی(Access Control) و یا امضای دیجیتال داکر ایمیج
{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 در پروژه گیت لب، دستورات مورد نیاز برای ساخت ایمیج، push و ... رو هم نشون میده