پرش به مطلب اصلی

Docker Registry

Docker Registry یک اپلیکیشن سمت سرور یا Server-Side است و مانند یک مخزن مرکزی به کاربران اجازه می‌دهد ایمیج‌های خود را ذخیره کرده و با دیگران به اشتراک بگذارند. بر اساس نیاز، کاربران می‌توانند رجیستری‌های عمومی (Public) یا خصوصی (Private) را انتخاب کنند.

برای ایجاد یک Docker Registry خصوصی، می توانید از ایمیج ارایه‌شده به‌وسیله‌ی Docker استفاده کنید. برای نمونه، شیوه‌ی اجرای آن با استفاده از Docker Compose به‌شکل زیر است:

version: '3'

services:
registry:
image: registry:2
ports:
- "5000:5000"
volumes:
- ./data:/var/lib/registry

استقرار با یک کلیک

به کمک اپلیکیشن‌های آماده‌ی کانتینر ابری آروان راه‌اندازی Docker Registry تنها با یک کلیک امکان‌پذیر است. شما می‌توانید از میان رجیستری با دیسک لوکال یا فضای ابری آروان یکی را انتخاب کنید.

استفاده از Docker Registry

پس از دیپلوی اپلیکیشن می‌توانید شروع به کار با رجیستری کنید. Pull کردن یا دریافت ایمیج از رجیستری و Push کردن یا بارگذاری ایمیج در آن از مهم‌ترین موارد استفاده‌ی این اپلیکیشن به‌شمار می‌رود.

لاگین کردن

برای دسترسی به رجیستری ساخته‌شده ابتدا باید با استفاده از دامنه‌ی اختصاص‌داده‌شده به اپلیکیشن‌تان به آن لاگین کنید. در نمونه‌ی زیر دامنه‌ی اپلیکیشن داکر رجیستری dockerregistry-project.apps.ir-thr-ba1.arvanpaas.ir است.

نام کاربری و رمز عبور به‌شکل پیش‌فرض admin:password است.

docker login https://dockerregistry-project.apps.ir-thr-ba1.arvanpaas.ir/

Push کردن ایمیج

برای Push کردن یا بارگذاری ایمیج در رجیستری باید مانند دستور زیر ابتدا یک تگ به آن اختصاص دهید:

docker tag bitnami/kubectl dockerregistry-project.apps.ir-thr-ba1.arvanpaas.ir/kubectl

سپس با دستور ‍docker push ایمیج تگ‌گذاری‌شده را Push کنید:

docker push dockerregistry-project.apps.ir-thr-ba1.arvanpaas.ir/kubectl

Pull کردن ایمیج

با استفاده از دستور docker pull می‌توانید یک ایمیج را از رجسیتری‌تان دریافت کنید:

docker pull dockerregistry-project.apps.ir-thr-ba1.arvanpaas.ir/kubectl

ساختن منیفست از روی یک ایمیج

به کمک ایمیج‌های رجیستری می‌توانید منیفست‌هایی برای استقرار اپلیکیشن بسازید. برای این کار باید ابتدا Credentialهای رجیستری را اضافه کنید و سپس منیفست را اجرا کنید:

image: dockerregistry-project.apps.ir-thr-ba1.arvanpaas.ir/kubectl:latest
name: registery
ports:
- containerPort: 8080

افزونه‌ی VS Code

افزونه‌های Docker در Shell ابری آروان یا هر محیط VS Code دیگری، این امکان را در اختیارتان می‌گذارد تا رجیستری‌های داکر و ایمیج‌های موجود در آن‌ها را مشاهده کرده و آن‌ها را Push ،Pull یا حذف کنید. هم‌چنین می توانید تگ‌های موجود را مشاهده کرده و به‌راحتی نام کامل آن‌ها را کپی کنید.