Images و Registries
ما هي Image؟
Section titled “ما هي Image؟”Image هي نسخة جاهزة من التطبيق ومعه الملفات التي يحتاجها. Kubernetes لا يبني التطبيق غالبا، بل يسحب Image من Registry ثم يشغلها داخل Pod.
ما هو Registry؟
Section titled “ما هو Registry؟”Registry هو مكان تخزين Images. أشهر أمثلة:
- Docker Hub.
- GitHub Container Registry.
- Amazon ECR.
- Azure Container Registry.
- Google Artifact Registry.
فهم اسم Image
Section titled “فهم اسم Image”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
Section titled “تجنب latest في Production”استخدام latest يجعل الإصدار غير واضح. في Production استخدم Tag محدد:
image: ghcr.io/company/api:v1.4.2imagePullPolicy
Section titled “imagePullPolicy”imagePullPolicy: IfNotPresentأشهر القيم:
| القيمة | معناها |
|---|---|
Always | حاول سحب Image كل مرة |
IfNotPresent | اسحبها فقط إذا غير موجودة على Node |
Never | لا تسحب من Registry |
Lab: فهم Image tag
الهدف: تشغيل إصدار محدد من Nginx ثم تغييره.
docker pull nginx:1.27docker images nginxdocker run --rm nginx:1.27 nginx -vبعدها جرب Tag مختلف ولاحظ أن كل Tag يمثل نسخة مختلفة.