تخطَّ إلى المحتوى

Images و Registries

Image هي نسخة جاهزة من التطبيق ومعه الملفات التي يحتاجها. Kubernetes لا يبني التطبيق غالبا، بل يسحب Image من Registry ثم يشغلها داخل Pod.

Registry هو مكان تخزين Images. أشهر أمثلة:

  • Docker Hub.
  • GitHub Container Registry.
  • Amazon ECR.
  • Azure Container Registry.
  • Google Artifact Registry.
nginx:1.27

هذا يعني:

  • nginx: اسم Image.
  • 1.27: Tag يحدد الإصدار.

مثال أطول:

ghcr.io/company/api:v1.0.0

هذا يعني:

  • ghcr.io: Registry.
  • company/api: اسم المشروع.
  • v1.0.0: Tag.

استخدام latest يجعل الإصدار غير واضح. في Production استخدم Tag محدد:

image: ghcr.io/company/api:v1.4.2
imagePullPolicy: IfNotPresent

أشهر القيم:

القيمةمعناها
Alwaysحاول سحب Image كل مرة
IfNotPresentاسحبها فقط إذا غير موجودة على Node
Neverلا تسحب من Registry

Lab: فهم Image tag

المستوى: مبتدئ الوقت: 20 دقيقة الأدوات: Docker

الهدف: تشغيل إصدار محدد من Nginx ثم تغييره.

Terminal window
docker pull nginx:1.27
docker images nginx
docker run --rm nginx:1.27 nginx -v

بعدها جرب Tag مختلف ولاحظ أن كل Tag يمثل نسخة مختلفة.