سجل الحاويات
سجل الحاويات (Container Registry) سجل خاص لصور حاوياتك داخل مساحة عملك. يتحدث واجهة السجلات القياسية، فيرفع إليه docker وKubernetes وأي عميل OCI آخر الصور ويسحبها منه. أنشئه من الخدمات المُدارة ← خدمة جديدة، ضمن DevOps والبنية التحتية، كنسخة عامة: فشهادته الموثوقة تُصدَر لاسم مضيفه العام (انظر الشهادة).
الأحجام
يحتفظ السجل بصوره على قرصه الخاص، لذا يأتي بأحجام التخزين:
| الحجم | المعالجات | الذاكرة | القرص |
|---|---|---|---|
| Storage S | 2 | 4 GB | 150 GB |
| Storage M | 4 | 6 GB | 300 GB |
| Storage L | 6 | 8 GB | 500 GB |
وككل نسخة، يُحتسب السجل من حصة مساحة عملك.
تسجيل الدخول والرفع
تعرض لوحة الاتصال في السجل عنوانه، أي اسم المضيف والمنفذ معًا، ومستخدمه وكلمة مروره. سجّل الدخول بتمرير كلمة المرور على الإدخال القياسي، فلا تبقى في سجل أوامر الطرفية:
echo "$REGISTRY_PASSWORD" | docker login images-c3d4.db.sahabti.app:40021 -u images --password-stdin
ضع على الصورة وسمًا بعنوان السجل، ثم ارفعها:
docker tag my-app:1.4 images-c3d4.db.sahabti.app:40021/my-app:1.4
docker push images-c3d4.db.sahabti.app:40021/my-app:1.4
واسحبها بالطريقة نفسها من أي مكان يصل إلى العنوان. كل طلب يحتاج المستخدم وكلمة المرور: فالسجل يرفض العملاء المجهولين.
من مجموعة Kubernetes
أعطِ المجموعة بيانات الاعتماد كسرّ لسحب الصور، في مساحة أسماء الـ Pods التي تسحب من السجل:
kubectl create secret docker-registry registry-login \
--docker-server=images-c3d4.db.sahabti.app:40021 \
--docker-username=images --docker-password="$REGISTRY_PASSWORD"
ثم سمِّ السرّ في تلك الـ Pods:
spec:
imagePullSecrets:
- name: registry-login
containers:
- name: web
image: images-c3d4.db.sahabti.app:40021/my-app:1.4
الشهادة
لا يخدم السجل إلا عبر TLS. وبعد وقت قصير من تشغيل سجل عام، عادةً خلال 15 دقيقة، تثبّت المنصّة شهادة موثوقة عامةً لاسم مضيفه، وتجدّدها قبل انتهائها، وتعرضها في صفحة الشهادات بوسم مُدارة. وإلى أن تُثبَّت الشهادة الأولى، يقدّم السجل شهادة مؤقتة موقّعة ذاتيًا يرفضها docker: انتظر بضع دقائق بدل أن تجعل السجل غير آمن.
وحين تُثبَّت شهادة مجدَّدة، يُعاد تشغيل السجل في لحظة، ويعيد docker محاولة أي رفع كان جاريًا. أما السجل الخاص فلا يحصل على شهادة موثوقة، فلا يقبله docker.
ما يُحتفظ به وما يُنظَّف
- تبقى الوسوم حتى تحذفها. لا يُزال عنك شيء وسمته.
- تُنظَّف الصور غير الموسومة. رفع وسمٍ من جديد يترك الصورة التي كان يشير إليها بلا وسم. وتُحذف الصور غير الموسومة بعد 24 ساعة.
- تعود المساحة يوميًا. يستعيد تنظيفٌ مرة في اليوم مساحة الصور المحذوفة. والطبقات المشتركة بين عدة صور تُخزَّن مرة واحدة.
ولحذف وسم أو صورة بنفسك، أرسل طلب الحذف في واجهة السجل بعد تسجيل الدخول (DELETE /v2/<repository>/manifests/<digest>)، أو استخدم عميل سجل يدعمه؛ وتعود مساحتها في التنظيف اليومي التالي.
لا واجهة ويب للسجل: استخدم docker أو عميل سجل آخر.